| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Bechtle PLM Deutschland tritt dem Deutschen Robotik Verband bei und startet Kooperation, eine Pressemitteilung
|
Autor
|
Thema: Verknüpfungsreferenzen C++ API (1414 mal gelesen)
|
Andreas Tost Mitglied Softwareentwickler
Beiträge: 30 Registriert: 21.11.2002
|
erstellt am: 09. Jul. 2004 15:28 <-- editieren / zitieren --> Unities abgeben:
Ich habe ein C++Addinn zur Erstellung von Assemblys aus Bauteilen in Arbeit und muss dazu die Verknüpfungsreferenzen der Bauteile scannen. Ich habe mittels Feature-scannen das "FtrFolder"-Feature für die Verknüpfungs-Gruppe erkannt und versuche nun die untergeordneten Verknüpfungen zu lesen, kann sie aber nicht finden, sind dies subfeatues, child's oder was anderes ????. Wer hat dazu Ideen, wäre darüber sehr dankbar ? mit freundlichen Grüßen Andreas Tost Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
waldi Mitglied Softwerker
Beiträge: 272 Registriert: 07.08.2001 SW 2006 SP4
|
erstellt am: 09. Jul. 2004 19:36 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Tost
|
waldi Mitglied Softwerker
Beiträge: 272 Registriert: 07.08.2001 SW 2006 SP4
|
erstellt am: 12. Jul. 2004 09:54 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Tost
Hi nochmal, wenn du in der API Doku unter "Mate2" suchst, steht wie es geht. Zuerst im FeatureManager das Feature "MateGroup" suchen (das hast du schon) und dann die Subfeatures holen, dann hast du das Mate Objekt in der Hand.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
stucki Mitglied Ingenieur
Beiträge: 73 Registriert: 30.04.2004
|
erstellt am: 12. Jul. 2004 10:06 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Tost
Hallo, untenstehend habe ich eine Methode (C#) welche mir das gewünschte Feature-Objekt einer Verknüpfung(mate) zurückliefert. Zuerst muss man das Feature suchen welches GetTypeName()=="MateGroup" zurückliefert. Danach kann man die SubFeatures dieses bestimmten features durchscannen. gruss tom public SldWorks.feature getMateFeatureByString(ref SldWorks.ModelDoc2 model, String str_mate_descript) { SldWorks.feature feat = (feature)model.FirstFeature(); SldWorks.feature mateFeat = null; while(feat != null) { if("MateGroup" == feat.GetTypeName()) { mateFeat = feat; } feat = (feature)feat.GetNextFeature(); } if(mateFeat != null) { SldWorks.feature subFeat = (feature)mateFeat.GetFirstSubFeature(); while(subFeat != null) { if(subFeat.Name == str_mate_descript) { return subFeat; } subFeat = (feature)subFeat.GetNextSubFeature(); } } return null; }
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Tost Mitglied Softwareentwickler
Beiträge: 30 Registriert: 21.11.2002
|
erstellt am: 12. Jul. 2004 11:46 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für die Antworten zu meinem Problem, leider ist es jedoch noch etwas schwieriger, weil ich nur die Verknüpfungsreferenzen in meine *.sldprt habe, aber noch kein Mate-Objekt. Die Referenzen habe ich jetzt im Zusammenbau gefunden (Type "PosGroupFolder") aber wie mache ich aus 2 Referenzen gleichen Namens mit API -Mittel ein neues Mate-Objekt ??? (interaktiv geht das ja beim Einfügen von Komponenten automatisch) Wer Kann weiterhelfen, die Methode AddMate2 scheint mir dazu etwas zu umständlich, da je erst die verknüpfungen interpretiert werden müßten ???? mit freundlichen Grüßen Andreas Tost Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
waldi Mitglied Softwerker
Beiträge: 272 Registriert: 07.08.2001 SW 2006 SP4
|
erstellt am: 12. Jul. 2004 12:00 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Tost
Meinst du die MateReference aus SW2005? Da habe ich schon mal beim API Support nachgefragt, wie man die über API automatisch verknüpfen kann => auf die Antowrt warte ich seit 4 Wochen, ich vermute, dass es nicht geht (hab auch in der Doku nichts gefunden) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Tost Mitglied Softwareentwickler
Beiträge: 30 Registriert: 21.11.2002
|
erstellt am: 12. Jul. 2004 12:29 <-- editieren / zitieren --> Unities abgeben:
Ich arbeite mit der 2004-version. da kann ich eine Verknüpfungsreferenz erzeugen, die dann beim Laden in Assembly bei gleichen Namen interaktiv verknüpft wird. leider scheint dies mit der API nicht zu gehen, Vielleicht geht's in V2005. wenn du Anwort von SldW bekommst, wäre ich über eine Info sehr erfreut. mit freundlichen Grüßen Andreas Tost Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Strolch Mitglied Entwicklungsingenieur
Beiträge: 26 Registriert: 05.07.2004 derzeit SWX2006 mit SP2 Nutzung für mittelgroße Baugruppen mit Zeichnungen, Ausbrüchen, Details, Explosionszeichungen etc. Bezüge, Toleranzen, Konfigurationen, Tabellen, Stücklisten. Simulationen, Cosmos ...
|
erstellt am: 22. Jul. 2004 12:22 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Tost
Hallo Andreas, Ich versuche in VC++ auch ein paar Funktionen zum Schriftfeld ausfüllen und zur Eigenschaftseintragung als Programm oder als Add-In zu machen. Leider hab ich keine Beispielprojekte gefunden, die erklären, wie mann das Ganze überhaupt angeht, habe bisher nur die Makroprogrammierung gemacht, will aber aus Stabilitätsgründen nun auf VC++ wechseln. Kannst du mir ein leeres Add-in Beispielprojekt zukommen lassen oder so, dass man in Solidworks funktionierend einbinden kann, ich steh nämlich total aufm Schlauch und komm noch nicht mal dazu irgendeine Sache von Solidworks ansprechen zu können. Danke Strolch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |