Beyond Inventor Wizard... The Community!
Autodesk Inventor en AutoCAD Forum
Ik heb een part waar ik een text in plaats.
Dit stuur ik aan met twee rules.
Één rule, PaneelNummer, om het nummer op te geven en één rule, PlaatsPaneelNummer, om het nummer te plaatsen in het part.
De nummers worden weggeschreven naar de iproperties en de BOM.
Als ik nu het part in een assy plaats wil ik vandaar uit de rules aansturen.
De rule PaneelNummer werkt maar als ik het nummer wil plaatsen krijg ik de melding dat de sketch waarop de text is geplaatst in het part niet gevonden kan worden.
Kan dat betekenen dat ik de sketch met de text in de assy moet plaatsen of kan ik op een of andere manier de sketch koppelen naar de assy?
Labels:
Kheb eens je vb bekeken zonder uw onderdeel want die is inventor 2013
Je zegt hier eigenlijk in mensentaal dat indien het een partdoc is dat hij dan moet kijken naar compdef.sketches waarbij hij uit de features de sketch zoekt.
anderzijds wanneer het een iamdoc betreft gaat hij zoeken naar oAssemDoc.ComponentDefinition wat resulteert in zoeken naar componenten die in een samenstelling zitten (workfeatures, parts, subsamenstellingen)
Je duikt maw niet af in het desbetreffend onderdeel om daar de sketch aan te spreken, maar in de compdef van uw assembly en daar is het inderdaad ook mogelijk om een sketch te tekenen of aan te spreken, maar das niet uw bedoeling.
Dus: definieer eerst het onderdeel binnen uw samenstelling en vanuit die definitie kan je de sketches aanspreken.
Ik hoop dat je het snapt wat ik hier brabbel, anders kan ik met een klein stukje code ook helpen...
Dus dat betekent dat ik de sketch met de text in de assy moet plaatsen om die aan te kunnen spreken?
Dat is voor mij geen probleem of de sketch in het part zit of in de assy.
Bedankt, ik ga dat toepassen.
Moeten? nee, absoluut niet, maar het is een mogelijkheid, t is maar te zien wat je dan weer met die tekst wil doen en als jij daar mee tevreden bent.
als je het in uw part zet, dan moet je eerst uw part definieren (zoals bvb dblklikken op een part in uw assybrowser) en dan pas uw sketch openen/aanspreken via code.
Dat definieren doe ik nu ook maar dat betekent, zoals je zegt, dat je in je browser een nivo lager moet om bij de rule te komen en de text aan te passen.
Ik wil op het hoogste nivo de rule aan kunnen spreken.
Dat begrijp ik en dat is ook mijn bedoeling, maar via code moet je wel die stappen respecteren.
hieronder een voorbeeld... tis uit mijn duim maar om u een idee te geven hé.
Dim iamdoc as assemblydocument
set iamdoc = thisapplication.activedocument
Dim oCompDef As Inventor.ComponentDefinition
Set oCompDef = iamdoc.ComponentDefinition
Dim iptdoc as partdocument
set iptdoc = ocompdef.occurences(1)
Dim oSketches As PlanarSketches
Set oSketches = iptdoc.ComponentDefinition.Sketches
Dim oSketch As PlanarSketch
Set oSketch = oSketches.Item("Sketch1")
'hier de wijzigingen doorvoeren
sketchfeature is voor sketches rechtstreek in samenstellingen
Misschien een foute opmerking, maar is het niet makkelijker om een tekst (user) parameter te gebruiken.
Nu moet je moeilijk doen om in je sketch te komen.
Werkt volgens mij een stuk eenvoudiger.
succes
Ik heb de text gekoppeld aan een parameter.
Deze parameter heb ik in de assy gekoppeld aan de iproperties die gestuurd worden door een rule.
Dit werkt gemakkelijker dan met de gelinkte vb code.
Hierdoor zit alles in de assy en hoef ik de losse code niet te linken.
Heren en Theo bedankt.
Toegevoegd door Stefaan Boel 0 Opmerkingen 0 Vindt leuk
Toegevoegd door pascal david 0 Opmerkingen 2 Vindt leuk
Toegevoegd door Patrick De Bruyn 2 Opmerkingen 2 Vindt leuk
© 2022 Gemaakt door Stefaan Boel.
Verzorgd door