| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: DXF Ausgabe aus Abwicklung (1126 mal gelesen)
|
freak-tom Mitglied PDM-/CAD-Admin
Beiträge: 347 Registriert: 07.03.2006 Productstream Professional Pro 2011 / Jobserver / Replikator Productstream Professional Office 2011 Productstream Professional Pro 2010 / Jobserver / Replikator Productstream Professional Office 2010 Solid Works 2018 DraftSight 2019 SAP ECTR
|
erstellt am: 14. Aug. 2008 16:14 <-- editieren / zitieren --> Unities abgeben:
Hallo Forumuser, ich habe eine wahnsinnige Anforderung an DXF Dateien die automatisch per VBA Makro aus Inventor generiert werden sollen. Die generierung an sich funktioniert! Allerdings wäre es für die Laserleute, richtig genial, wenn in der DXF Datei die Artikelnummer, die in den I-Properties zu finden sind auf der DXF Datei als Text dargestellt wäre! Desweiteren wäre es hilfreich wenn vom zu kleinst umschreibenden Rechteck eines Teiles die lange Seite in X liegen würde! Hat jemand hier Ahnung ob sowas geht bzw. wie sowas geht? Ich bin für jeden Ansatz dankbar! MfG Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lbcad Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau und CAD-Trainer
Beiträge: 3794 Registriert: 15.02.2001
|
erstellt am: 14. Aug. 2008 18:01 <-- editieren / zitieren --> Unities abgeben: Nur für freak-tom
Hallo Thomas, das mit der DXF-Ausgabe ist ja kein Problem, wie Du schon gesagt hast. Die Artikelnummer ist ein iProperty, das Du erst später in der DXF eintragen kannst. Die Frage ist dann aber, wohin soll es denn kommen? Die Orientierung kannst Du auch später im DXF machen. Für die Arbeit im DXF müsstest Du die DXF im Mechanical laden. Das ist über VBA eigentlich kein großes Kunststück. Habe so etwas schon mal aus Excel gemacht. Die Orientierung kannst Du über die größe der Bounding Box abfragen. Daran solltest Du auch erkennen können, ob die Geometrie noch gedreht werden muß. ------------------ Gruß Lothar --------------------------------------------------- Während man es aufschiebt, verrinnt das Leben. Lucius Annaeus Seneca (ca. 4 v. Chr - 65 n. Chr.) ----------------------------------------------------- Wir unterstützen die Arbeit der: - Rettungshundestaffel des DRK Viersen - Rettungshundestaffel Isar Ost Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
freak-tom Mitglied PDM-/CAD-Admin
Beiträge: 347 Registriert: 07.03.2006 Productstream Professional Pro 2011 / Jobserver / Replikator Productstream Professional Office 2011 Productstream Professional Pro 2010 / Jobserver / Replikator Productstream Professional Office 2010 Solid Works 2018 DraftSight 2019 SAP ECTR
|
erstellt am: 15. Aug. 2008 08:31 <-- editieren / zitieren --> Unities abgeben:
Hallo Lothar, geht das wirklich nur später im Mechanical? Eine Lösung, die das ganze direkt aus Inventor macht wäre mir wesentlich sympatischer! Die Artikelnummer soll irgendwo in die DXF Datei hauptsache Sie ist drin! (Also vordefinierte Koordinaten) Für Mechanical habe ich sowas in der Art gefunden! MfG Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
freak-tom Mitglied PDM-/CAD-Admin
Beiträge: 347 Registriert: 07.03.2006
|
erstellt am: 15. Aug. 2008 08:59 <-- editieren / zitieren --> Unities abgeben:
Hallo Lothar, habe folgendes gefunden! Code: Public Sub getBoundingBox() Dim oDoc As PartDocument Set oDoc = ThisApplication.ActiveDocument Dim oCD As SheetMetalComponentDefinition Set oCD = oDoc.ComponentDefinition Dim oFP As FlatPattern Set oFP = oCD.FlatPattern Dim dimX, dimY, dimZ As Double On Error Resume Next dimX = Round((oFP.Body.RangeBox.MaxPoint.X - oFP.Body.RangeBox.MinPoint.X) * 10, 3)
If Err Then MsgBox "Abwicklung fehlt!", 16, "Error" End End If dimY = Round((oFP.Body.RangeBox.MaxPoint.Y - oFP.Body.RangeBox.MinPoint.Y) * 10, 3) dimZ = Round((oFP.Body.RangeBox.MaxPoint.Z - oFP.Body.RangeBox.MinPoint.Z) * 10, 3) MsgBox ("X= " & dimX & " mm" _ & Chr(10) & "Y= " & dimY & " mm" _ & Chr(10) & "Z= " & dimZ & " mm") End Sub
Das Problem ist nur, das er mir hier nicht die Maße des zu kleinst umschließenden Rechtecks ermittelt sondern nur die Abmessungen eines umschließenden Rechtecks. Gibt es auch die Möglichkeit die Maße des kleinsten Rechtecks, das ein Teil umschließt herauszufinden, egal wie das Teil im Raum liegt? MfG Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lbcad Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau und CAD-Trainer
Beiträge: 3794 Registriert: 15.02.2001 DELL Precision 7520 Win10Pro-64 Inventor mit Vault Professional 2022 --------------------- Während man es aufschiebt, verrinnt das Leben. Lucius Annaeus Seneca (ca. 4 v. Chr - 65 n. Chr.)
|
erstellt am: 18. Aug. 2008 22:28 <-- editieren / zitieren --> Unities abgeben: Nur für freak-tom
Hallo Thomas, ist evtl. etwas viel verlangt, dass man programmtechnisch herausfindet, ob es auch eine Orientierung gibt, bei der die kleinst mögliche BoundingBox herauskommt. Aber denkbar ist das schon. Einfach drehen, Werte ausgeben lassen und mit anderen Orientierungen vergleichen. Dann im Umfeld des kleinsten Wertes noch ein paar weitere Optimierungen der Orientierung, dann sollte sich schon das Minimum bis auf einen gewünschten tolerierbaren Fehler ausfindig machen lassen. Aber mal im Ernst: Die Abwicklung sollte vom Konstrukteur so in den Dateien erzeugt werden, dass die bestmögliche Orientierung schon eingestellt ist. Wenn nicht, helfen möglicherweise ein paar Waatschen . Ja - habe ich noch vergessen: Das Mechanical kannst Du doch über ein Inventor-Makro steuern. Dann läuft es eben, ohne dass du es merkst. ------------------ Gruß Lothar
--------------------------------------------------- Während man es aufschiebt, verrinnt das Leben. Lucius Annaeus Seneca (ca. 4 v. Chr - 65 n. Chr.) ----------------------------------------------------- Wir unterstützen die Arbeit der: - Rettungshundestaffel des DRK Viersen - Rettungshundestaffel Isar Ost [Diese Nachricht wurde von lbcad am 18. Aug. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
freak-tom Mitglied PDM-/CAD-Admin
Beiträge: 347 Registriert: 07.03.2006
|
erstellt am: 19. Aug. 2008 07:30 <-- editieren / zitieren --> Unities abgeben:
Hallo Lothar, gibt es nur die Möglichkeit einige BoundingBoxen zeichnen zu lassen und miteinander zu vergleichen und dann die kleinste zu nehmen? Das ist ganz schon ümständlich! Eine Funktion die gleich die kleinste erkennt gibt es nicht oder? Zitat: Aber mal im Ernst: Die Abwicklung sollte vom Konstrukteur so in den Dateien erzeugt werden, dass die bestmögliche Orientierung schon eingestellt ist. Wenn nicht, helfen möglicherweise ein paar Waatschen
Das ist halt immer so eine Sache man kann zwar die Leute dazu zwingen aber ob Sie dann immer daran denken bzw. das auch wirklich machen ist die 2. Frage. Und dann hat man immer wieder das Problem mit dem Altbestand! MfG Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |