Hallo
In vba maak ik een programma dat in een assemblage onderdelen (van een fles) opent en in elkaar zet (complete fles).
Mijn probleem komt om de stukken erin te beperken.
Aangezien het de gebruiker is die deze onderdelen kiest, zal de mix tussen de open stukken veranderen, bijvoorbeeld: vlakke bodem, afgeronde bodem, afgeronde vierkante rand, rechte vierkante rand enz...
Wat ik begon te doen, is de plannen van elke kamer beperken.
Macro registratiecode
Stel swApp = Toepassing.SldWorks in
Deel instellen = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Krans face@Bague Vlak 26-1@Assemblage Ronde Rand", "VLIEGTUIG", 0, 0, 0, Waar, 1, Niets, 0)
boolstatus = Part.Extension.SelectByID2("Plan van face@EP-BR-ST-1@Assemblage Ronde Rand", "VLIEGTUIG", 0, 0, 0, Waar, 1, Niets, 0)
Dim myMate als object
Stel myMate in = Part.AddMate3(0, 0, Onwaar, 0, 0, 0, 0.001, 0.001, 0, 0.5235987755983, 0.52359875983, Onwaar, longstatus)
Deel.ClearSelection2 Waar
Deel.BewerkenOpnieuw opbouwen3
boolstatus = Part.Extension.SelectByID2("Juiste Plan", "PLANE", 0, 0, 0, True, 1, Nothing, 0)
boolstatus = Part.DeSelectByID("Juiste Plan", "VLIEGTUIG", 0, 0, 0)
boolstatus = Part.Extension.SelectByID2("Krans droite@Bague Vlak 26-1@Assemblage Ronde Rand", "VLIEGTUIG", 0, 0, 0, Waar, 1, Niets, 0)
boolstatus = Part.Extension.SelectByID2("Plan van droite@EP-BR-ST-1@Assemblage Ronde Rand", "VLAK", 0, 0, 0, Waar, 1, Niets, 0)
Stel myMate in = Part.AddMate3(0, 0, Onwaar, 0, 0, 0, 0.001, 0.001, 0, 0.5235987755983, 0.52359875983, Onwaar, longstatus)
Deel.ClearSelection2 Waar
Deel.BewerkenOpnieuw opbouwen3
boolstatus = Part.Extension.SelectByID2("Plan_inf@Bague kroon 26-1@Assemblage Ronde rand", "PLANE", 0, 0, 0, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Plan_sup@EP-BR-ST-1@Assemblage Ronde Rand", "VLIEGTUIG", 0, 0, 0, Waar, 1, Niets, 0)
Stel myMate in = Part.AddMate3(0, 1, Onwaar, 0.071, 0, 0, 0.001, 0.001, 0, 0.5235987755983, 0.523598755983, Onwaar, longstatus)
Deel.ClearSelection2 Waar
Deel.BewerkenOpnieuw opbouwen3
We kunnen zien dat er een ruimte is tussen de twee stukken van " 0,071" m en ik weet niet hoe ik die moet definiëren. (het zal veranderen voor elke set onderdelen, dus te beperkend, vooral omdat de onderdelenbibliotheek gaandeweg zal groeien)
In mijn macro heb ik bewust Y-vormige ruimtes geplaatst om de onderdelen te scheiden wanneer ik ze importeer (zie afbeelding) zodat ik de ruimte weet tussen de oorsprong van de assemblage en het zwaartepunt van mijn onderdeel. (Is het het zwaartepunt waarmee rekening wordt gehouden bij het importeren van onderdelen?)
Is het mogelijk om de hoogte van de kamer te herstellen? (VBA-variabelen)
Of andere ideeën zijn ook welkom!
Bedankt
JB
assemblage_bouteille.png