| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
Autor
|
Thema: Assembly-Beziehung in Part-Datei programmieren (1107 mal gelesen)
|
SiGa Mitglied Student
Beiträge: 6 Registriert: 05.07.2006
|
erstellt am: 06. Jul. 2006 22:52 <-- editieren / zitieren --> Unities abgeben:
Hallo! Meine Aufgabe (Studienarbeit): Erstelle Inbusschraubengenerator. Mein momentaner Status: VB-Programm erstellt in Part jede Inbusschraube (DIN EN ISO 4762), die ich will, mit Gewinde und allem Schnick-Schnack. Mein Problem: Die Aufgabenstellung sieht vor, dass auch die Assembly-Beziehungen zum Einbau der Schraube festgelegt werden. Also z.B. axiale Beziehung und Auflagefläche unterm Schraubenkopf. Ich weiß ehrlich gesagt nicht, wie ich das machen soll. Hat jemand von euch vielleicht eine spontane Idee? Bin über jeden Tipp dankbar. Danke schon mal! Schönen Abend da draußen. SiGa Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 06. Jul. 2006 23:28 <-- editieren / zitieren --> Unities abgeben: Nur für SiGa
Moin, ist IMHO bis dato seitens SE nicht vorgesehen das per API zu setzen Man kann nur abfragen wieviele und was (verfuegbar bei .asm/.par/.psm/.pwd): - long = <objPart>.CapturedRelationshipCount - <objPart>.GetCapturedRelationshipInformation(....) Siehe Object Browser in VB modeng ------------------ And then one wonders why a man/woman ages so fast in this nutty business Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SiGa Mitglied Student
Beiträge: 6 Registriert: 05.07.2006
|
erstellt am: 06. Jul. 2006 23:33 <-- editieren / zitieren --> Unities abgeben:
Sers modeng Momentan läuft das ganze bei mir ja aus Part raus ab. Mal angenommen, ich starte das Makro in Assembly, der öffnet dann Part und bastelt mir die Schraube, geht dann wieder zurück ins Assembly und fügt JETZT die Beziehungen bzw. die Schraube hinzu. Das wäre wahrscheinlich dann eine geschicktere Lösung, oder? Und auch einfacher zu lösen... Grüßle, SiGa Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rüben-Rudi Ehrenmitglied V.I.P. h.c. Landwirt, Konstrukteur
Beiträge: 3002 Registriert: 06.12.2002 SE ST7 MP5
|
erstellt am: 06. Jul. 2006 23:43 <-- editieren / zitieren --> Unities abgeben: Nur für SiGa
Guten Abend, irgendwie kannst du doch PRTs "teachen" => Teile werden automatisch verbaut und du mußt nur noch die Zielflächen wählen ... aber ich habe überhaupt keine Ahnung wie so etwas Gruß Bernd ------------------ Was der Bauer nicht kennt, das frisst er nicht! Würde der Städter wissen was er frisst, er würde Bauer werden! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SiGa Mitglied Student
Beiträge: 6 Registriert: 05.07.2006
|
erstellt am: 06. Jul. 2006 23:46 <-- editieren / zitieren --> Unities abgeben:
Jap, genauso was such ich auch! Bin grad aber schon wieder auf ein neues Problem gestoßen: wenn ich die neue Schraube speichern will, kommt keine Frage "wo" ich die Datei hingespeichert haben will. Der speichert die Schraube einfach ab, ohne zu Fragen wo. Sehr nervig... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 07. Jul. 2006 05:58 <-- editieren / zitieren --> Unities abgeben: Nur für SiGa
Moin, generierst Du Deine Schraube aus einem Muster-Teil? Wenn ja wird beim Save das Musterteil ueberschrieben. Abhilfe: <objPart>.SaveAs(" path ") statt <objpart>.Save. Um die Schraube mit den entsprechenden Einbaubeziehungen zu versehen muss sie halt einmal eingebaut werden. Dann das eingebaute Teil auswaehlen und RMT --> Capture Fit --> dort aktivieren '... im Teil speichern' und OK Einbau automatisch ginge zwar, da man die Beziehungen per API vergeben kann nur ohne Interaktion wird's nicht gehen. CaptureFit setzen geht interaktiv, das GUI kann aber per API gestartet werden. Eine andere Moeglichkiet ist die Option 'Automatisch CaptureFit aktivieren ..' (nur beim Plazieren verfuegbar) zu setzen, was aber nicht empfehlenswert ist da es dann fuer ALLE Teile, die plaziert werden gilt. modeng
------------------ And then one wonders why a man/woman ages so fast in this nutty business Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rüben-Rudi Ehrenmitglied V.I.P. h.c. Landwirt, Konstrukteur
Beiträge: 3002 Registriert: 06.12.2002 SE ST7 MP5
|
erstellt am: 07. Jul. 2006 07:40 <-- editieren / zitieren --> Unities abgeben: Nur für SiGa
Guten Morgen, Datei speichern ... speichert die Änderungen in die vorhandene Datei und überschreibt den alten Stand Datei speichern unter ... oder Kopie speichern ... speichert eine neue Datei und öffnet auch den Dialog wie die Datei gespeichert werden soll. Wie du das hanze automatisch aufrufst, kann ich dir nicht sagen Gruß Bernd ------------------ Was der Bauer nicht kennt, das frisst er nicht! Würde der Städter wissen was er frisst, er würde Bauer werden! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SiGa Mitglied Student
Beiträge: 6 Registriert: 05.07.2006
|
erstellt am: 07. Jul. 2006 16:01 <-- editieren / zitieren --> Unities abgeben:
Servus! @modeng: Gute Hinweise, Danke, in der Richtung werd ich jetzt erst mal forschen. @Rüben-Rudi: Das Problem ist, dass man in VB mit "save" (äquivalent zu "Datei speichern") die aktuelle Datei einfach speichern kann, und mit "saveas" (äquivalent zu "...speichern unter") eine neue Datei mit neuem Namen erzeugen kann, da öffnet sich allerdings der Dialog für die Speicherung nicht. Hab inzwischen hier im Forum irgendwo gelesen, dass das sogar aus irgendwelchen Lizenzgründen nicht ginge. Na ja, vielleicht fällt mir noch was ein, zum Glück ist das mit dem Speichern nicht in der Aufgabenstellung drin. Außerdem sollte ein User ja schon noch fähig sein, solche elementaren Dinge selbst hinzukriegen... Für weitere Anregungen bin ich natürlich offen!!! Soweit mal, ich meld mich dann beim nächsten Problem SiGa Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 07. Jul. 2006 16:32 <-- editieren / zitieren --> Unities abgeben: Nur für SiGa
Moin, [...] da öffnet sich allerdings der Dialog für die Speicherung nicht. [...] das laesst sich bewerkstelligen: <objSEapp>.StartCommand (PartFileSaveAs) [...] Hab inzwischen hier im Forum irgendwo gelesen, dass das sogar aus irgendwelchen Lizenzgründen nicht ginge [...] rubbish, noch nie in diesem Zusammenhang gehoert Nachtrag zu CaptureFit: es gibt in der asm (mit V18)offenbar die Moeglichkeit Beziehungen fuer CaptureFit zu nutzen, allerdings ist bis auf den Object Browser keine weiter Doku (ueber F1) zu finden: <objOccurrence>.CaptureRelationships(....) falls man die Relationen per API setzen will/kann ist das vielleicht ein Weg um sie dem Teil als CaptureFit 'anzuhaengen'. modeng
------------------ And then one wonders why a man/woman ages so fast in this nutty business
[Diese Nachricht wurde von modeng am 07. Jul. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SiGa Mitglied Student
Beiträge: 6 Registriert: 05.07.2006
|
erstellt am: 08. Jul. 2006 21:54 <-- editieren / zitieren --> Unities abgeben:
N'Abend @modeng: Ich steh grad etwas auf'm Schlauch, ich kann in VB nur so Sachen wie "objApp.StartCommand(SolidEdgeFramework.SolidEdgeCommandConstants.sePartInsertPartCommand)" eingeben, da kommt dann zwar ein Dialog, aber der falsche... Im Objectbrowser hab ich auch gesurft, aber irgendwie nix gefunden. Kannst mir vielleicht noch mal auf die Sprünge helfen? Ciao! SiGa Nachtrag: so ging's: objApp.StartCommand(CommandID:=57604)
[Diese Nachricht wurde von SiGa am 08. Jul. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 08. Jul. 2006 22:03 <-- editieren / zitieren --> Unities abgeben: Nur für SiGa
Moin, du musst die entsprechende Library im VB aktivieren; Project --> Referencies SolidEdge Constants Type Library dann ist auch der Command 'PartFileSaveAs' vorhanden Numerische Werte (gemaaess Hilfe) gehen auch ist aber nicht empfehlenswert sofern es dafuer Enums gibt modeng ------------------ And then one wonders why a man/woman ages so fast in this nutty business [Diese Nachricht wurde von modeng am 08. Jul. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SiGa Mitglied Student
Beiträge: 6 Registriert: 05.07.2006
|
erstellt am: 08. Jul. 2006 22:05 <-- editieren / zitieren --> Unities abgeben:
|
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 08. Jul. 2006 22:13 <-- editieren / zitieren --> Unities abgeben: Nur für SiGa
Moin, ich glaub das ist nicht so wichtig -- Hauptsache die Arbeit ist OK ... Ich hab' Dir noch ein STueck coding als PM geschickt -- ist vielleicht fuer die Arbeit nuetzlich Klaus ------------------ And then one wonders why a man/woman ages so fast in this nutty business [Diese Nachricht wurde von modeng am 08. Jul. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |