Macro om onderdeelsymmetrie in een assemblage te identificeren

Hallo

 

Ik zou graag willen weten of het mogelijk is om met behulp van een macro vast te stellen of een onderdeel een symmetrische componentfunctie bevat. (zie bijgevoegde afbeelding)

Wijzig vervolgens, dankzij deze macro, een eigenschap (symmetrie = ja of symmetrie = nee bijvoorbeeld).

Het doel is om op de leden van het Europees Parlement de implementatie van een annotatie (1+1 symmetrisch) te automatiseren voor de te buigen onderdelen die deze functie hebben, symmetrische component gemaakt van een assemblage.

Tenzij iemand een beter idee heeft om deze annotatie te krijgen.

Bedankt.

Hallo

Ja, het moet kunnen, maar het vereist enige kennis van VBA-programmering.

We kunnen inspiratie putten uit deze macro:

http://help.solidworks.com/2014/English/api/sldworksapi/Feature_Suppression_Example_VB.htm

In dit voorbeeld ziet u het volgende:

  • Functies in een onderdeel doorlopen

  • Een functienaam ophalen

Controleer vervolgens of de functienaam "symmetrie" bevat en voeg vervolgens een aangepaste eigenschap "SYM" toe met een waarde van "JA".

 

Voor de basis lijkt het niet slecht, maar ik weet het niet zeker, ik heb twijfels omdat de te herkennen functie een map  is (symmetrische component) en geen functie en ik kan niet noodzakelijkerwijs een symmetrie toewijzen aan de functie Kopiëren verplaatsen.

 

Anders voor de VBA sinds de tijd dat ik erin wilde komen, is er geen zaak meer...

 

Zodra ik wat meer tijd heb ga ik aan de slag en dan post ik het resultaat.

1 like

Om mijn vorige antwoord af te maken, raad ik je aan om mijn tutorial te lezen over de macro die ik heb gemaakt "opslaan als", waarmee je in de stemming kunt komen!

http://www.lynkoa.com/tutos/3d/macro-enregistrer-sous-avec-solidworks

Anders is de specifieke eigenschap voor het lezen van een aangepaste eigenschap:

CODE = swRefDoc.GetCustomInfoValue("", "code")

 

En om het te wijzigen (werk de CODE-eigenschap bij met de NewCode-variabele):

retval = SWmoddoc.AddCustomInfo3("", "CODE", 30, NewCode)
SWmoddoc.CustomInfo("CODE") = Nieuwe code

 

Zoals hier te zien is:

http://www.lynkoa.com/forum/3d/api-modification-des-proprietes-personnalisees-part