Hallo
Ik wil de namen van de onderdelen in de creatieboom lezen en ze opslaan in variabelen.
Zoals wat:
Variabele1= "Kroonring 26"
Variabele2= "EP-BC-AR
...
...
(zie bijlage)
Dank u voor uw hulp,
JB
capture.png
Hallo
Ik wil de namen van de onderdelen in de creatieboom lezen en ze opslaan in variabelen.
Zoals wat:
Variabele1= "Kroonring 26"
Variabele2= "EP-BC-AR
...
...
(zie bijlage)
Dank u voor uw hulp,
JB
Hallo jb!
Ondanks mijn twijfels heb ik het zo voor elkaar gekregen:
TreePiece = InputBox ("voer de naam van het te selecteren onderdeel in, evenals het nummer in de boomstructuur" & vbCrLf & "00-XXXXX-0-Piece-3" & vbCrLf & "'-3' is hier de voorkomensindex")
gevolgd door
swModel.ClearSelection2 Waar
bstatus = swModel.Extension.SelectByID2(stnewfilename & "@SE-XXXXX-0-Trajectory", "COMPONENT", 0, 0, 0, True, 0, Nothing, 0)
om het stuk te selecteren :-)
Zie de GetComponents Method API (IAssemblyDoc)
Hier is een voorbeeld
Dim swDoc als SldWorks.ModelDoc2
Dim swAss als SldWorks.AssemblyDoc
Dim stOldFileName As String, stNewFileName As String
Dim bStatus als Booleaanse
Sub hoofd()
Stel swApp = Toepassing.SldWorks in
Stel swDoc in = swApp.ActiveDoc
Als swDoc niets is, sluit dan Sub af
Als swDoc.GetType <> swDocumentTypes_e.swDocASSEMBLY afsluit, sluit dan Sub af
Stel swAss = swDoc in
Dim swComponents als variant: swComponents = swAss.GetComponents(True)
Voor i = 0 TB UBound(swComponents)
MsgBox swComponents(i). Naam
Volgend
Einde Sub
Te goed!
Bedankt
Is het ook mogelijk om op deze manier de link naar de kamer te hebben?
Bij voorbaat dank
Goedenavond allemaal,
Ik begrijp je verzoek niet>> "Is het ook mogelijk om op deze manier de link naar de kamer te hebben?"
A+
MC
Ik begrijp de link van de kamer ook niet?
Hallo
Mijn doel is om vergelijkingen aan te passen op basis van de afmetingen van de onderdelen van een assemblage ( Macro vergelijking vraag op het forum).
Om dit te doen, was mijn eerste idee om de onderdelen in de assemblage te bewerken om de vergelijkingen aan te passen. (per macro)
behalve dat:
Voor i = 0 To swEquationMgr.GetCount - 1 (in mijn programma)
werkt niet in een bewerkt deel ==> einde van de lus
Dus twee oplossingen:
- 1) verander swEquationMgr.GetCount om de vergelijkingen in een bewerkt deel te kunnen lezen
- 2) open de delen één voor één waar swEquationMgr.GetCount werkt
De eerste zou waarschijnlijk beter zijn voor de eenvoud en uitvoering van het programma. Ik heb wat onderzoek gedaan naar het gebruik van de GetEquationMgr-methode (IModelDoc2), maar heb niets gevonden dat me zal helpen.
Voor de tweede heb je de volledige link nodig om de kamer te openen:
voorbeeld
Deel instellen = swApp.OpenDoc6("D:\LIBRARY\03-Technische Bibliotheek Schouder\EP-BC-AR. SLDPRT", 1, 0, "", longstatus, longwarnings)
Deel instellen = swApp.ActiveDoc
En dus door de assemblage te openen om de link van de onderdelen waaruit het bestaat te kunnen lezen om ze te openen.
Natuurlijk zal deze methode het programma vertragen.
Ik hoop dat ik een beetje duidelijker ben geweest ^^
Bedankt
JB
OK!
PRB opgelost!
Bedankt voor je hulp!