Hallo
In vba mache ich ein Programm, das in einer Montage Teile (einer Flasche) öffnet und zusammenbaut (komplette Flasche).
Mein Problem besteht darin, die Teile in ihnen einzuschränken.
Da es der Benutzer ist, der diese Teile auswählt, ändert sich die Mischung zwischen den offenen Stücken, z.B.: flacher Boden, abgerundeter Boden, abgerundete quadratische Kante, gerade quadratische Kante usw.
Was ich damit begann, war, die Pläne der einzelnen Räume einzuschränken.
Makro-Registrierungscode
Legen Sie swApp = Application.SldWorks fest
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Kranz face@Bague Ebene 26-1@Assemblage Runde Kante", "PLANE", 0, 0, 0, Wahr, 1, Nichts, 0)
boolstatus = Part.Extension.SelectByID2("Plan von face@EP-BR-ST-1@Assemblage Runde Kante", "PLANE", 0, 0, 0, Wahr, 1, Nichts, 0)
myMate als Objekt dimmen
Set myMate = Part.AddMate3(0, 0, False, 0, 0, 0, 0.001, 0.001, 0, 0.523598755983, 0.523598775983, False, longstatus)
Part.ClearSelection2 Wahr
Teil.EditRebuild3
boolstatus = Part.Extension.SelectByID2("Rechter Plan", "PLANE", 0, 0, 0, Wahr, 1, Nichts, 0)
boolstatus = Part.DeSelectByID("Rechter Plan", "PLANE", 0, 0, 0)
boolstatus = Part.Extension.SelectByID2("Kranz droite@Bague Ebene 26-1@Assemblage Runde Kante", "PLANE", 0, 0, 0, Wahr, 1, Nichts, 0)
boolstatus = Part.Extension.SelectByID2("Plan von droite@EP-BR-ST-1@Assemblage Runde Kante", "PLANE", 0, 0, 0, Wahr, 1, Nichts, 0)
Set myMate = Part.AddMate3(0, 0, False, 0, 0, 0, 0.001, 0.001, 0, 0.523598755983, 0.523598775983, False, longstatus)
Part.ClearSelection2 Wahr
Teil.EditRebuild3
boolstatus = Part.Extension.SelectByID2("Plan_inf@Bague Krone 26-1@Assemblage Abgerundete Kante", "PLANE", 0, 0, 0, Wahr, 1, Nichts, 0)
boolstatus = Part.Extension.SelectByID2("Plan_sup@EP-BR-ST-1@Assemblage Abgerundete Kante", "PLANE", 0, 0, 0, Wahr, 1, Nichts, 0)
Set myMate = Part.AddMate3(0, 1, False, 0.071, 0, 0.001, 0.001, 0, 0.523598755983, 0.523598755983, False, longstatus)
Part.ClearSelection2 Wahr
Teil.EditRebuild3
Wir können sehen, dass es zwischen den beiden Teilen von " 0,071" m einen Raum gibt, und ich weiß nicht, wie ich ihn definieren soll. (Es ändert sich für jeden Satz von Teilen, also zu restriktiv, zumal die Teilebibliothek im Laufe der Zeit wächst)
In meinem Makro setze ich absichtlich Y-förmige Zwischenräume, um die Teile zu trennen, wenn ich sie importiere (vgl. Bild), damit ich den Raum zwischen dem Ursprung der Baugruppe und dem Schwerpunkt meines Teils kenne. (Ist es der Schwerpunkt, der beim Import von Teilen berücksichtigt wird?)
Ist es möglich, die Höhe des Raumes wiederherzustellen? (VBA-Variablen)
Oder auch andere Ideen sind willkommen!
Vielen Dank
JB
assemblage_bouteille.png