Kombinace - odečtení těles

Kombinace - odečtení těles

Příspěvekod swpavelapi » úte 09. úno 2010 8:34:17

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
swpavelapi
 
Příspěvky: 3
Registrován: pát 22. led 2010 7:40:30

Re: Kombinace - odečtení těles

Příspěvekod Návštěvník » úte 15. úno 2011 20:29:49

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
Kód: Vybrat vše
prvky =myFeature.GetParents()
set prvek1=prvky(0)
set prvek2=prvky(1)

pak selectnu a vymazu tu kombinaci
Kód: Vybrat vše
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.
Návštěvník
 


Zpět na API

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník