Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Ipt in IDW öffnen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Ipt in IDW öffnen (2263 mal gelesen)
BernoAn
Mitglied



Sehen Sie sich das Profil von BernoAn an!   Senden Sie eine Private Message an BernoAn  Schreiben Sie einen Gästebucheintrag für BernoAn

Beiträge: 164
Registriert: 16.01.2014

erstellt am: 08. Mai. 2014 08:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo

Ich möchte ein mit der Maus selektiertes Bauteil in einer IDW öffnen (In der IDW sind mehrere Bauteile, eventuell auch Baugruppen)

Mit diesem Code kann ich nur das erste Bauteil auf der Zeichnung öffnen, wie kann ich ein selektiertes Bauteil öffnen?

Code:

Public Sub open_ipt_in_idw()

Dim oDrawDoc As DrawingDocument
Set oDrawDoc = ThisApplication.ActiveDocument

Dim oReferencedPartDoc As PartDocument
Set oReferencedPartDoc = oDrawDoc.ReferencedDocuments.Item(1)

Dim oPropValue As String
oPropValue = oReferencedPartDoc.FullDocumentName

Set opart = ThisApplication.Documents.Open(oPropValue, True)

End Sub


Hier wird das erste Bauteil der Zeichung genommen

Code:
Set oReferencedPartDoc = oDrawDoc.ReferencedDocuments.Item(1)

Bye Berno

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 08. Mai. 2014 10:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für BernoAn 10 Unities + Antwort hilfreich

Hallo

Geh über oDrawDoc.SelectSet.Item(1). Das müßte ein DrawingCurveSegment sein, von dem aus du dich entweder über die Parent-Eigenschaft stückweise bis zum referenzierten Document nach oben hangeln kannst. Oder du versuchst mal ob das DrawingCurveSegment die GetNativeObject-Funktion (oder so ähnlich) unterstützt. Dann müßtest du direkt auf der Edge deines Bauteiles landen und kannst über Parent noch oben zum Document.

------------------
MfG
Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

PaulSchuepbach
Moderator
Programmierer




Sehen Sie sich das Profil von PaulSchuepbach an!   Senden Sie eine Private Message an PaulSchuepbach  Schreiben Sie einen Gästebucheintrag für PaulSchuepbach

Beiträge: 1005
Registriert: 01.10.2003

erstellt am: 08. Mai. 2014 13:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für BernoAn 10 Unities + Antwort hilfreich

Wenn Du eine DrawingCurve seletiert hast, dann kommst Du wie von Ralf beschrieben über 'Parent' irgendwann zum 'DrawingView' Objekt. Darin gibt es ReferencedDocumentDescriptor --> liefert das in der View abgebildete Dokument.

Noch einfacher: selektier doch gleich die DrawingView...

HTH

------------------
Grüsse, Paul

Inventor-Programmierung
Online 3D-Ersatzteilkataloge - CAD Toolkit released...
Kostenmanagement mittels NLPP Analyse

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BernoAn
Mitglied



Sehen Sie sich das Profil von BernoAn an!   Senden Sie eine Private Message an BernoAn  Schreiben Sie einen Gästebucheintrag für BernoAn

Beiträge: 164
Registriert: 16.01.2014

erstellt am: 08. Mai. 2014 14:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi

Ich möchte aber keine DrawingCurve selektieren, ich möchte den gepunkteten Rahmen um die Ansicht selektieren


Gruß Berno

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 08. Mai. 2014 14:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für BernoAn 10 Unities + Antwort hilfreich

Hallo

Dann lies bitte nochmal die Frage in deinem ersten Beitrag.  
Die Lösung mit selektiertem DrawingView hat Paul dir gegeben.

Code aus dem Kopf geschrieben, könnte Unschärfen enthalten.

Code:
Public Sub OpenRefedDoc

Dim oApp as Application
Set oApp=ThisApplication

Dim oDrawDoc as DrawingDocument
Set oDrawDoc=oApp.ActiveDocument

Dim oDoc as Document
Set oDoc=oDrawDoc.SelectSet.Item(1).ReferencedDocumentDescriptor

Call oApp.Documents.Open(oDoc.FullDocumentName)

End Sub


------------------
MfG
Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BernoAn
Mitglied



Sehen Sie sich das Profil von BernoAn an!   Senden Sie eine Private Message an BernoAn  Schreiben Sie einen Gästebucheintrag für BernoAn

Beiträge: 164
Registriert: 16.01.2014

erstellt am: 08. Mai. 2014 15:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo

Hm mit dem Code komme ich auch nicht weiter?

Ich habe es aber jetzt mit

CommandManager.Pick
und
ReferencedDocumentDescriptor.FullDocumentName

hinbekommen, gefällt mir nicht aber es funktioniert

Danke für eure Hilfe
Gruß Berno

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 08. Mai. 2014 16:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für BernoAn 10 Unities + Antwort hilfreich

Hallo

Die möglichst präzise Fragestellung erhöht die Wahrscheinlichkeit einer passenden Antwort.
1. Wolltest du eine bereits selektierte Auswahl nutzen, nicht innerhalb des Makros erst wählen.
2. Wolltest du ein selektiertes Bauteil nutzen, nicht einen selektierten DrawingView.
Du brauchst dich im Nachhinein nicht wundern, wenn die User nicht hellsehen können.

Was ist am CommandManager.Pick denn so schlecht? Mit "gefällt mir nicht" kann hier wieder keiner was anfangen. 

------------------
MfG
Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BernoAn
Mitglied



Sehen Sie sich das Profil von BernoAn an!   Senden Sie eine Private Message an BernoAn  Schreiben Sie einen Gästebucheintrag für BernoAn

Beiträge: 164
Registriert: 16.01.2014

erstellt am: 09. Mai. 2014 07:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo

Ich hab mich wirklich verwirrend ausgedrückt, Entschuldigung!

Aber ich will mich auch für eure Antorten bedanken!

zu: Was ist am CommandManager.Pick denn so schlecht? Mit "gefällt mir nicht" kann hier wieder keiner was anfangen. 

Mir gefällt das nicht sollte heißen das ich erst die Auswahl selektieren wollte und dann das Macro ausführen
mit dem CommandManager ist es umgekehrt.

Gruß
Berno

[Diese Nachricht wurde von BernoAn am 09. Mai. 2014 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 11. Mai. 2014 21:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für BernoAn 10 Unities + Antwort hilfreich

Hallo

Das Verhalten würde der Code den ich dir oben gegeben habe machen. Der öffnet was vorher selektiert wurde. Aber mit dem kommst du nicht zurecht und läßt uns im Unklaren wo's hakt. 

------------------
MfG
Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BernoAn
Mitglied



Sehen Sie sich das Profil von BernoAn an!   Senden Sie eine Private Message an BernoAn  Schreiben Sie einen Gästebucheintrag für BernoAn

Beiträge: 164
Registriert: 16.01.2014

erstellt am: 19. Mai. 2014 09:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Ich würde den Code ja gerne verwenden aber
er funktioniert nicht egal was ich selektiere!

Es kommt der Fehler "Typen unverträglich "

MFG
Berno

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 19. Mai. 2014 14:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für BernoAn 10 Unities + Antwort hilfreich

Hallo

Auswählen wolltest du eine Ansicht. Ändere bitte im Code oben

Code:
Dim oDoc As Document

in
Code:
Dim oDoc As DocumentDescriptor

Dann läufts.

------------------
MfG
Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BernoAn
Mitglied



Sehen Sie sich das Profil von BernoAn an!   Senden Sie eine Private Message an BernoAn  Schreiben Sie einen Gästebucheintrag für BernoAn

Beiträge: 164
Registriert: 16.01.2014

erstellt am: 19. Mai. 2014 14:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Ralf

ja so funktioniert es, ich danke dir!

Wie bist du darauf gekommen ?
Wie findet man so einen Fehler heraus?
Ich finde das ganz schön komplizert.

MFG
Berno

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 19. Mai. 2014 20:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für BernoAn 10 Unities + Antwort hilfreich

Hallo

Ich habe im VBA Editor im Menü "Ansicht" das "Überwachungsfenster" eingeblendet. Dann habe ich auf die Zeile

Code:
Set oDoc=oDrawDoc.SelectSet.Item(1).ReferencedDocumentDescriptor

einen Haltepunkt gesetzt, damit das Makro dort anhält. Danach habe ich rechte Maustaste auf das "oDrawDoc" in der Zeile
Code:
Set oDrawDoc=oApp.ActiveDocument

gemacht und im Kontextmenü "Überwachung hinzufügen ..." ausgewählt. Im Überwachungsfenster kann man jetzt den Eintrag oDrawDoc sehen. Läßt man das Makro laufen, hält es am Haltpunkt an. Jetzt kann man im Überwachungsfenster oDrawDoc aufklappen. Scrollt man ein bißchen runter, findet man SelectSet, klappt das auf und sieht Item(1) - den ausgewählten DrawingView. Darunter findet sich der ReferencedDocumentDescriptor. In der rechten Spalte sieht man den jeweiligen Objekttyp. Da läßt sich dann auch erkennen, das ich den falschen Variablentyp verwendet hatte. Das hat man davon, wenn man aus dem Kopf schreibt und es selbst nicht ausprobiert.

Im Grunde ist es ein Entlanghangeln an der Strukturzweigen des Inventor-Objektmodells. Das Objektmodell gibt's auch als Übersichts-PDF.

------------------
MfG
Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Technischer Zeichner / Technischer Produktdesigner / Konstrukteur (m/w/d)

Die Innolite GmbH ist ein Hightech-Unternehmen am Standort Aachen. Unsere derzeit 57 Mitarbeiter*innen beschäftigen sich mit der Herstellung und stetigen Verbesserung ultrapräziser Werkzeugmaschinen zur Fertigung optischer Komponenten. Die hierfür erforderlichen Genauigkeiten im Bereich weniger Nanometer erreichen wir durch ein perfektes Zusammenspiel unserer Maschinen, eigener Software und umfangreichem Prozess Know-How....

Anzeige ansehenTechnischer Zeichner, Bauzeichner
BernoAn
Mitglied



Sehen Sie sich das Profil von BernoAn an!   Senden Sie eine Private Message an BernoAn  Schreiben Sie einen Gästebucheintrag für BernoAn

Beiträge: 164
Registriert: 16.01.2014

erstellt am: 20. Mai. 2014 07:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Ralf

Das ist ja mal eine klasse Sache, konnte es nach deiner Anleitung nachvollziehen!
Jetzt bin ich ein gutes Stück schlauer geworden!

Danke dir recht herzlich!

Gruß
Berno

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz