| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | | Engineering in the Cloud: PLM in the Cloud for effective Processes |
Autor
|
Thema: [API] Pack & Go Clone (814 mal gelesen)
|
gegy3 Mitglied
Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2012 SP 5.0
|
erstellt am: 09. Apr. 2009 20:44 <-- editieren / zitieren --> Unities abgeben:
Hallo. ich möchte die Pack & Go funktion nachbauen, weil ich beim kopiervorgang einige dateieigenschaften ändern möchte. Ich schaffe es bereits alle Teile und unterteile in ein array zu bekommen. Nun möchte ich aber auch so eine art Dateiliste anzeigen wie man sie in Pack & Go hat. Wie kann ich aber nun ermitteln, ob eine komponente eine unterkomponente von einer anderen ist? Ich habe die komponenten mit der Funktion sldworks.GetDocumentDependencies2 bekommen. Sie liegen mir als String in einem Array vor. Ich möchte das der User die Auswahl hat was er mitkopieren möchte aber auch sieht, ob ein Teil eine unterkomponente einer anderen Baugruppe ist. Danke für die Hilfe und Anregungen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 14. Apr. 2009 08:21 <-- editieren / zitieren --> Unities abgeben: Nur für gegy3
Hallo gegy3, da musst du es dir schon etwas schwerer machen, ich vermute du hast die GetDocumentDependencies2(ModelDoc,True,...) benutzt und dir direkt die komplette Komponentenliste geben lassen. Ich würde empfehlen mit der guten alten Traverse mit GetChildren alles selbst abzuklappern oder eben mit dem GetDocumentDependencies2, aber nicht mit dem Traverseflag, sondern eben nur eine Ebene die Liste der Komponenten der ersten Ebene zu holen. Für die solltest du dir dann in einem separaten Bereich merken, welche Eltern die haben. Wobei mir nicht ganz klar ist, wofür du die Eltern kennen musst? Ich würde es so machen, dass in dem Moment, wo ein Anwender eine Komponente an- oder abhakt, ich die komplette Liste einmal durchlaufe und alle Komponenten, deren Dateiname identisch ist, eben auch an- oder abhake. Dafür musst du eigentlich nicht wissen, welche Eltern eine Komponente hat. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Stefans SolidWorks Blog Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gegy3 Mitglied
Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2012 SP 5.0
|
erstellt am: 14. Apr. 2009 09:34 <-- editieren / zitieren --> Unities abgeben:
Hallo Stefan [QUOTE]Ich würde empfehlen mit der guten alten Traverse mit GetChildren alles selbst abzuklappern oder eben mit dem GetDocumentDependencies2, aber nicht mit dem Traverseflag, sondern eben nur eine Ebene die Liste der Komponenten der ersten Ebene zu holen. Für die solltest du dir dann in einem separaten Bereich merken, welche Eltern die haben.[QUOTE] Tja... das hab ich mir gstern auch schon gedacht, weil nur diese methode hilft wirklich in die tiefe zu gehen und auhc wirklich die dazugehörigen Unterteile abzubilden. Ich brauche die Eltern damit der User dann im folgeschritt auswählen kann, an welche datei er ein Präfix anhängen will. ich sehe das wird immer schwieriger..... wenn der User dann bestimmte Teile/Baugruppen angehakt hat welche ein Präfix bekommen sollen, frage ich mich, wie ich diese markierten Datein wieder den gewonnenen Arrays aus GetDocumentDependencies2 zuweise. Ich muss ja wissen, welches Dokument im angezeigten Dateibaum welchem String im Array entspricht.... Oh mann das ist wirklich nicht leicht.... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
VBSpawn Mitglied Programmierer
Beiträge: 514 Registriert: 23.08.2005 Sorgfältige Planung ersetzt niemals pures Glück.
|
erstellt am: 14. Apr. 2009 10:52 <-- editieren / zitieren --> Unities abgeben: Nur für gegy3
|
| Manufacturing Engineer (m/w/d) | Die RCP Ranstadt blickt auf eine über 70-jährige Unternehmensgeschichte zurück und ist Teil einer familiengeführten, international aufgestellten operativ tätigen Unternehmensgruppe. Heute sind wir ein führender Auftragshersteller im Bereich flexible Verpackungen für große FMCG-Marken sowie Produzent von Eigenmarken für LEH, Drogerie und Discount. Gemeinsam mit unseren Kunden entwickeln ... | Anzeige ansehen | Automatisierungstechnik |
|
gegy3 Mitglied
Beiträge: 300 Registriert: 26.04.2006 SolidWorks 2012 SP 5.0
|
erstellt am: 14. Apr. 2009 10:59 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von VBSpawn: Hi,nur nicht den Mut verlieren ..... Du könntest den Node - "Tag" verwenden um dir ein paar Info zu merken... http://msdn.microsoft.com/de-de/library/system.windows.forms.treenode.tag.aspx oder anstelle einer Array Liste eine eigene Klasse verwenden .. Gruß Micha
"Node Tag" klingt interessant....man lernt nie aus *gg* Also sehe ich das richtig, dass ich jeder node im kompletten Tree einen "Name" (Tag) zuweisen kann mit der Methode?
Eigene Klassen sind nicht so mein ding, versuche sie zu vermeiden, wenn ich sie nicht unbedingt brauche, da ich mit eigenen Klassen (noch) nicht so gut umgehen kann. *g* Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|