| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | Guhring: Hochwertige Schneidwerkzeuge berechnen und präsentieren mit ZW3D |
Autor
|
Thema: Regel für das Einfügen von Erstansichten auf eine vorhandene .idw Zeichnung (996 / mal gelesen)
|
Homer77 Mitglied
Beiträge: 7 Registriert: 20.10.2021 Inventor Professional 2020
|
erstellt am: 22. Feb. 2022 10:55 <-- editieren / zitieren --> Unities abgeben:
Hallo! Wir möchten eine Regel (iLogic) in der . idw Zeichnung aufrufen, die uns die Erstansicht irgendwo (oder in Ausrichtung zum Rahmen) aufs geöffnete Blatt platziert. Im Internet haben wir bisher nur Regeln gefunden, die aus dem Modell heraus ausgeführt werden, dass dann Zeichnungsableitungen in ein (Vorlagen-)Dokument ausführen (recht kompliziert/umständlich mit viel VBA-Code). Wie oben erwähnt, möchten wir jedoch die Regel in der Zeichnung abrufen/ausführen lassen. Wie geht das? Oder ist das von Inventor/iLogic gar nicht so vorgesehen oder gar extra ausgeschlossen? Im Konkreten: Im Inventor ist bereits ein Blatt geöffnet, Schriftkopf und Rahmen sind auch schon da und eingerichtet. Jetzt (erst) möchten wir eine Regel ausführen lassen, die uns eine Erstansicht (und ggf. gleich mehrere Ableitungen (Seiten- und Draufsicht und Isometrie) davon aufs Blatt wirft. Idealerweise sogar von dem Modell, dass zuletzt (in dieser Sitzung) bearbeitet/geöffnet war und ist. Und das in diesem Blatt so oft wir möchten (mehrere Modell platzieren), jeweils für das zuletzt geöffnete Modell, das natürlich zwischenzeitlich auch ein anderes werden kann (Fensterwechsel). Die Zeichnungsableitung von Inventor arbeitet ja auch genauso: Da wird beim Ableitungsdialog zunächst vorgeschlagen, das zuletzt geöffnete Modell (automatisch eingetragener Pfad) anzuleiten. Hintergrund ist, das wir Übersichtszeichnungen erstellen, auf denen mehrere Baugruppen abgebildet werden. Jeweils mit eigener Stückliste, Bemaßung usw. Vielen Dank und beste Grüße!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Frank_Schalla Ehrenmitglied CAD_SYSTEMBETREUER
Beiträge: 1732 Registriert: 06.04.2002 DELL M6800 Cad Admin Methodikentwickler 3D
|
erstellt am: 23. Feb. 2022 11:03 <-- editieren / zitieren --> Unities abgeben: Nur für Homer77
|
Homer77 Mitglied
Beiträge: 7 Registriert: 20.10.2021 Inventor Professional 2020
|
erstellt am: 23. Feb. 2022 11:59 <-- editieren / zitieren --> Unities abgeben:
Hallo Frank, ja so in der Art stellen wir uns das vor. Allerdings müsste die jeweilige Ableitung von mehreren Teilen auf ein Blatt eingefügt werden. Geht das auch, oder wird je Teil eine .idw erzeugt? Beste Grüße, Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Frank_Schalla Ehrenmitglied CAD_SYSTEMBETREUER
Beiträge: 1732 Registriert: 06.04.2002 DELL M6800 Cad Admin Methodikentwickler 3D
|
erstellt am: 23. Feb. 2022 12:12 <-- editieren / zitieren --> Unities abgeben: Nur für Homer77
|
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2428 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 24. Feb. 2022 09:15 <-- editieren / zitieren --> Unities abgeben: Nur für Homer77
Hallo Zu deiner ursrpünglichen Frage. Ich denke nicht dass der Code aus einer IDW heraus großartig kürzer wird. Es dürfte lediglich der Teil fehlen, in dem mittels einer Zeichnungsvorlage eine neue Datei erzeugt wird. Danach ist der Ablauf zum Platzieren von Ansichten der gleiche. Für das automatische Platzieren von Ansichten werden etliche Informationen gebraucht. Das referenzierte Dokument ist nur eine davon. Man kann sicher eine Reihe Festlegungen treffen, die bei jedem Durchlauf gelten. Das geht schon mit dem Maßstab los. Wie groß sollen die Ansichten jeweils werden? Die daraus resultierende Größe der Erstansicht definiert dann den erforderlichen Abstand zum Blattrand und für weitere abhängige Ansichten den Abstand zur Erstansicht. Allein diese Abmessungen zu finden ist nicht so einfach, da eine Ansicht erst Abmessungen hat, wenn sie platziert ist. Kommt dann eine projezierte Ansicht dazu, muss eventuell die Erstansicht erst entsprechend verschoben werden. Spinnt man das dann weiter, dass ab dem zweiten Durchlauf ja schon Ansichten auf dem Blatt vorhanden sind, wird's noch lustiger die freie Stelle zu finden. Das wird sicher kein Dreizeiler. Mal als Demo eine ganz einfache iLogic Variante Erstansicht mit drei projezierten Ansichten auf aktive Blatt klatschen. Es wird das zuletzt geöffnete Bauteil-/Baugruppendokument genutzt. Mit einem Auswahlfenster kann man alle 4 Ansichten markieren und dann als Gruppe an die passende Stelle verschieben. Danach könnte man die nächste Baugruppe öffnen und die Regel wieder starten. Mir ist keine Möglichkeit im Standard bekannt das zuletzt aktive 3D Modellfenster abzugreifen. Ein Fensterwechsel zwischen mehreren 3D Modellen ändert keine mir bekannte Auflistung der Modelle. Das müsste man vielleicht über ein Addin Property lösen, das diesen Wert permanent während der Inventorsession vorhält. Mit einem Addin, so wie das von Herrn Schalla demosntrierte, wäre dann auch ein Button in der Ribbonleiste integrierbar. Code:
Dim oApp As Inventor.Application=ThisApplication Dim oDrawDoc As DrawingDocument = ThisDoc.Document Dim oSheet As Sheet = oDrawDoc.ActiveSheet Dim oSheetCenter As Point2d = oApp.TransientGeometry.CreatePoint2d(oSheet.Width / 2, oSheet.Height / 2) Dim oDrawView As DrawingView Dim oPoint As Point2d Dim dOffSet As Double Dim i As IntegerDim oView As Inventor.View Dim oLastDoc As Document For i = oApp.Views.Count To 1 Step -1 If oApp.Views(i).Document.DocumentType = Inventor.DocumentTypeEnum.kAssemblyDocumentObject Or oApp.Views(i).Document.DocumentType = Inventor.DocumentTypeEnum.kPartDocumentObject Then oLastDoc = oApp.Views(i).Document Exit For End If Next If oLastDoc Is Nothing Then MsgBox("Kein Modelldokument geöffnet. Abbruch",MsgBoxStyle.Critical,"PlaceViews") Exit Sub End If oDrawView = oSheet.DrawingViews.AddBaseView(oLastDoc, oSheetCenter, 0.5, ViewOrientationTypeEnum.kFrontViewOrientation, DrawingViewStyleEnum.kHiddenLineRemovedDrawingViewStyle) dOffSet = Max(oDrawView.Height, oDrawView.Width) oPoint= oApp.TransientGeometry.CreatePoint2d((oDrawView.Position.X + 2 * dOffSet), oDrawView.Position.Y) oSheet.DrawingViews.AddProjectedView(oDrawView, oPoint, DrawingViewStyleEnum.kFromBaseDrawingViewStyle) oPoint= oApp.TransientGeometry.CreatePoint2d(oDrawView.Position.X, (oDrawView.Position.Y + 2*dOffSet)) oSheet.DrawingViews.AddProjectedView(oDrawView, oPoint, DrawingViewStyleEnum.kFromBaseDrawingViewStyle ) oPoint= oApp.TransientGeometry.CreatePoint2d(oDrawView.Position.X + 2 * dOffSet, oDrawView.Position.Y + 2*dOffSet) oSheet.DrawingViews.AddProjectedView(oDrawView, oPoint, DrawingViewStyleEnum.kFromBaseDrawingViewStyle)
------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Homer77 Mitglied
Beiträge: 7 Registriert: 20.10.2021 Inventor Professional 2020
|
erstellt am: 04. Apr. 2022 08:38 <-- editieren / zitieren --> Unities abgeben:
Hallo Ralf! Vielen lieben Dank für den Code. Meine Kollegen und ich sind leider jetzt erst dazu gekommen uns das näher anzuschauen. Diesen habe ich nun ausprobiert, jedoch leitet er nur das zuletzt geöffnete Bauteil ab, nicht jedoch das zuletzt angezeigte. Und Baugruppen schon gar nicht. Mir wäre wichtig, dass die Regel das Modell (vornehmlich iam) ableitet, was zuletzt in dem (aktiven) Fenster zu sehen war, bevor ich die Zeichnung aktivierte (nicht nur öffnete). Der klassische Ableitungsbefehl in Inventor macht das nämlich genauso. Nur möchte ich das insoweit automatisieren, dass die Regel die vier Ansichten irgendwo (vielleicht sogar in Blattmitte, vorzugsweise im Maßstab 1:10 ) reinschmeißt (Abstände dürfen einen festen Wert haben, 100mm vielleicht), die drei projizierten Ansichten als Strichkontur ohne verdecken Linien, die Isometrie in Farbe (hierfür gibt es wohl Code-Nummern), an der Isometrie automatisiert alle Positionsnummern dranpinnt und zusätzlich eine Stückliste drunter schreibt. Die Regel muss nach diesem Schema mehrmals im selben Blatt ausführbar sein, wobei zwischenzeitlich immer wieder ein neues/anderes Modell bzw. eine anderes Modell-Fenster aktiviert wurde. Es sollen nämlich mehrere Bauteil-/Baugruppen-Ableitungen ins selbe Blatt (ich weiß, ist unüblich, bei uns will das die Fertigung aber so) Als Bild angehangen ein Beispiel. Wenn du hierzu noch eine Idee hättest … Vielen Dank im Voraus …
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2428 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 04. Apr. 2022 10:55 <-- editieren / zitieren --> Unities abgeben: Nur für Homer77
Hallo Wie ich schon sagte, mir ist keine öffentlich zugreifbare Liste bekannt, in der die Reihenfolge der aktivierten Modellfenster steht. Man könnte mit einer Addin dll auf das OnActivateView Event lauschen und bei jedem Auslösen eine selbst erstellte Liste der zuletzt angezeigten Modelle erstellen. Theoretisch könnte man in der daraus erzeugten Auswahlliste auch gleich noch alle Modelle entfernen, die auf dem aktuellen Zeichnungsblatt/in der aktuellen Zeichnung schon abgeleitet wurden, so dass man weniger rumsuchen muss. Mit iLogic, so wie ihr das wollt, geht das nicht. Das Platzieren der Ansichten, Positionsnummern und Teilelisten halte ich grundsätzlich alles für möglich. Soll es komplett automatisiert ablaufen, wird es sehr aufwändig. Dann muss wirklich jede noch so kleine Entscheidung definiert und über eine Regel eindeutig entschieden werden. Ihr könntet eine Menge (Programmier-)Aufwand schon allein damit einsparen, dass ihr eure Fertigung überzeugt ein Teil = ein Zeichnungsblatt. Dann könnte man mit einem vordefinierten Arbeitsblattformat arbeiten und die Ansichten und die Teileliste automatiscch mit vertretbarem Aufwand platzieren. Die Positionssnummern müsste man im Anschluß setzen, aber manuelle Nacharbeit ist trotzdem mit Sicherheit notwendig. Das Thema automatische Bemassung würde ich gleich vergessen. Könnte man ein Teil = ein Zeichnungsblatt durchsetzen und Arbeitsblattformate nutzen, wäre es denkbar eine sortierbare Liste der geöffneten Modelle anzuzeigen. Die sortiert der User und in einer Schleife werden in der Reihenfolge die Zeichnungsblätter erstellt. Ob man dann noch den Punkt zuletzt aktives Fenster braucht? Würde der mit diesem Weg wegfallen, könnte man vermutlich alles über iLogic lösen.
------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Homer77 Mitglied
Beiträge: 7 Registriert: 20.10.2021 Inventor Professional 2020
|
erstellt am: 06. Apr. 2022 09:05 <-- editieren / zitieren --> Unities abgeben:
Hallo Ralf, Danke für die Antwort. Leider bleibt unsere Fertigung stur und möchte alle Teile einer Baugruppe auf einer großen Fertigungszeichnung zusammen haben. Um den Klick Aufwand so gering wie möglich zu halten ist halt unsere Idee, das mit einem Befehl die zuletzt angezeigte Datei (nicht die ganze Liste) in drei Ansichten auf das Blatt geworfen wird. Wenn möglich halt immer mit gleichem Maßstab und mit Stückliste. Automatische Bemaßungen würden wir nicht einsetzen wollen, ebenso wenig das alle geöffneten Modelle automatisch auf die Zeichnung kommen. Beste Grüße, [Diese Nachricht wurde von Homer77 am 06. Apr. 2022 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2428 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 07. Apr. 2022 09:16 <-- editieren / zitieren --> Unities abgeben: Nur für Homer77
Moin Das Problem ist, das zuletzt angezeigte Modell gibt es so in der API nicht. Was nicht da ist, kann man nicht abgreifen. Ihr müsstet euch ein Addin rundherum schreiben ( lassen)und das OnActivateView Event benutzen, um selbst diesen Wert zu halten. Der Rest ist Fleissarbeit.
------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|