Téma: Kombinace – odečtení těles - MůjSolidworks.cz

Autor
Příspěvky

9. 2. 2010 v 7:34

Kombinace – odečtení těles #51756

swpavelapi
Člen
3 příspěvky

Níže můžete vidět makro pro vytvoření kombinace dvou těles, které jsou pojmenovány „Vysunout1“ a „Vysunout2“. Při vytváření těles nesmíte zapomenout zrušit sloučení těles. Operace odečtení je označena číslem 15902. Součet či průnik jsou tvořeny obdobně, avšak s jiným značením operace.
!!! Kdyby mi někdo dokázal poradit, jak měnit „Hlavní tělo“ za „Tělo ke spojení“ v již vytvořeném prvku kombinace, tedy jeho úpravou, byl bych moc rád !!! Díky a snad jsem někomu alespoň trochu pomohl…



Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2(„Vysunout1“, „SOLIDBODY“, 0, 0, 0, False, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2(„Vysunout2“, „SOLIDBODY“, 0, 0, 0, True, 2, Nothing, 0)
Dim myFeature As Object
Set myFeature = Part.FeatureManager.InsertCombineFeature(15902, Nothing, Nothing)
End Sub
–>

swpavelapi

Příspěvky: 3
Registrován: pát 22. led 2010 7:40:30

* Soukromá zpráva

15. 2. 2011 v 19:29

Re:Re: Kombinace – odečtení těles #53662

Anonymous
Člen
318 příspěvků

To které tělo bude Hlavni a které „ke spojení“ určuje číslo v SelectByID2 (tučně), a nastavil bych obě hodnoty na „TRUE“ (podtrženo)

boolstatus = Part.Extension.SelectByID2(„Vysunout1“, „SOLIDBODY“, 0, 0, 0, True,1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2(„Vysunout2“, „SOLIDBODY“, 0, 0, 0, True, 2, Nothing, 0)
Set myFeature = Part.FeatureManager.InsertCombineFeature(15902, Nothing, Nothing)

z již vytvořené kombinace lze zjistit prvky – jejich pořadí odpovídá těm tučným číslům


prvky =myFeature.GetParents()
set prvek1=prvky(0)
set prvek2=prvky(1)

pak selectnu a vymazu tu kombinaci


myFeature.select false
Part.EditDelete

oba prvky se pak označí obráceně a kombinace se vytvoří znovu.

PS: Přímá editace mi zatím nejde, ale takhle by to mělo jít, když budu mít čas napíšu komplet makro a pošlu.

Odpověď na téma

Reklama

Reklama