Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor
  iLogic-Regel Alle Ansichten im aktuellen Blatt > ein Maßstab

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: Inventor besser verstehen - Fläche löschen
Autor Thema:   iLogic-Regel Alle Ansichten im aktuellen Blatt > ein Maßstab (1488 mal gelesen)
EKW
Mitglied
Dipl.-Ing. Maschinenbau & IWE|Entwicklung & Konstruktion von Baumaschinenwerkzeugen


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

Beiträge: 171
Registriert: 12.09.2011

WorkStation:
Intel Xeon E3-1270 @3.40-3.80 GHz|K4/T8
32.00 GB RAM
Win 7/64 Bit
NVidia Quadro 2000
~
Dargestellt auf:
1 x 27" Fujitsu P27T-7
----
Autodesk Product Design Suite Ultimate 2012
Autodesk Product Design Suite Ultimate 2014
Autodesk Product Design Suite Ultimate 2017

erstellt am: 11. Nov. 2015 12:23    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 hoffe ich bin mit meiner iLogic-Frage hier richtig?

Ich versuche mir gerade eine Regel zu basteln, welche es mir ermöglicht alle Ansichten (auch andere Modelle/Teile) im aktuellen Blatt auf einen Maßstab zu ändern. Der Maßstab wird vor dem Starten der Regel abgefragt. Leider bricht die Regel nach dem Ändern der ersten Ansicht (inklusive ihrer verknüpften Ansichten) ab.

Hier einmal der Code ohne eingebaute Abfrage:


===
Dim oDrawDoc As DrawingDocument
oDrawDoc = ThisApplication.ActiveDocument

Dim oView As DrawingView

For Each oView In oDrawDoc.ActiveSheet.DrawingViews
oView.[ScaleString] = "1 : 50"

Next
===
Fehler in Regel: Regel3 in Dokument: Name_der_IDW.idw

Ein Aufrufziel hat einen Ausnahmefehler verursacht.
===
Weitere Infos:

System.Runtime.InteropServices.COMException (0x80004005): Ein Aufrufziel hat einen Ausnahmefehler verursacht.
  bei System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
  bei Inventor.DrawingView.set_ScaleString(String )
  bei LmiRuleScript.Main()
  bei Autodesk.iLogic.Exec.AppDomExec.ExecRuleInAssembly(Assembly assem)
  bei iLogic.RuleEvalContainer.ExecRuleEval(String execRule)
===

Mit dem Absturzbericht kann ich leider nicht viel anfangen. Hat jemand eine Idee?

Viele Grüße

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

Canadabear
Mitglied
Konstrukteur


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

Beiträge: 863
Registriert: 30.06.2010

erstellt am: 11. Nov. 2015 13: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 Nur für EKW 10 Unities + Antwort hilfreich

Hallo,
Ich habe was aehnliches per macro gemacht, ich koennte es dir morgen zukommen lassen.

Gruss
Ray

------------------
Barbarus hic ego sum, quia non intellegor ulli!

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

EKW
Mitglied
Dipl.-Ing. Maschinenbau & IWE|Entwicklung & Konstruktion von Baumaschinenwerkzeugen


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

Beiträge: 171
Registriert: 12.09.2011

WorkStation:
Intel Xeon E3-1270 @3.40-3.80 GHz|K4/T8
32.00 GB RAM
Win 7/64 Bit
NVidia Quadro 2000
~
Dargestellt auf:
1 x 27" Fujitsu P27T-7
----
Autodesk Product Design Suite Ultimate 2012
Autodesk Product Design Suite Ultimate 2014
Autodesk Product Design Suite Ultimate 2017

erstellt am: 11. Nov. 2015 14:25    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 schau es mir gern an 

macro heißt vba oder ilogic?

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

Canadabear
Mitglied
Konstrukteur


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

Beiträge: 863
Registriert: 30.06.2010

erstellt am: 13. Nov. 2015 15:16    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 EKW 10 Unities + Antwort hilfreich

Hallo,

war leider gestern nicht dazu gekommen dir das macro zu senden aber jetzt.


Public Sub View_set()

Dim objDrawDoc As DrawingDocument
Set objDrawDoc = ThisApplication.ActiveDocument
Dim objSheet As Sheet
Set objSheet = objDrawDoc.ActiveSheet
Dim objDrawingView As DrawingView
Dim dblScale(20) As Double
Dim dblBaseScale As Double

dblBaseScale = objSheet.DrawingViews(1).Scale
For Each objDrawingView In objSheet.DrawingViews
    If (objDrawingView.ViewType = kStandardDrawingViewType) Then
        objDrawingView.[Scale] = dblBaseScale
    End If
Next

MsgBox "done"

End Sub

ich habs auf meinem groesseren Macro extrahiert.
wenn du noch probleme damit hast kannst dich gerne bei mir melden.

Gruss
Ray

------------------
Barbarus hic ego sum, quia non intellegor ulli!

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

EKW
Mitglied
Dipl.-Ing. Maschinenbau & IWE|Entwicklung & Konstruktion von Baumaschinenwerkzeugen


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

Beiträge: 171
Registriert: 12.09.2011

WorkStation:
Intel Xeon E3-1270 @3.40-3.80 GHz|K4/T8
32.00 GB RAM
Win 7/64 Bit
NVidia Quadro 2000
~
Dargestellt auf:
1 x 27" Fujitsu P27T-7
----
Autodesk Product Design Suite Ultimate 2012
Autodesk Product Design Suite Ultimate 2014
Autodesk Product Design Suite Ultimate 2017

erstellt am: 23. Nov. 2015 09:50    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

Dank Dir,

werde das Makro mal versuchen einzusetzen. Habe es grad versucht 1 : 1 in eine iLogic zu kopieren das ist leider fehl geschlagen.

Das funktioniert sicherlich auch mit dem ScaleString oder?

Dim dblScale(20) As Double <<-- ist das der Skalierfaktor?

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

Canadabear
Mitglied
Konstrukteur


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

Beiträge: 863
Registriert: 30.06.2010

erstellt am: 23. Nov. 2015 14:00    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 EKW 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von EKW:

...
Dim dblScale(20) As Double <<-- ist das der Skalierfaktor?


Hallo,
leider hatte ich vergessen das zu aendern: bitte die (20) entfernen so das es nur noch: dblScale As Double  heisst.

ich hatte den Code aus meinem Programm extrahiert welches durch alle Ansichten geht und erst den Massstab der Ansicht abspeichert und dann jede Ansicht einzelnd auf den Massstab der ersten Ansicht setzt und als DXF abspeichert und dann wieder auf den eigenen Massstab zusruecksetzt. Deswegen brauchte ich die Variable dblScale als Feld.
Bei dir wird das ja nicht noetig sein.

VBA funktioniert nur selten direkt als iLogic es gibt doch ein paar unterschiede. Aber du kannst ja das Macro dann per iLogic aufrufen.

Gruss
Ray

------------------
Barbarus hic ego sum, quia non intellegor ulli!

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

EKW
Mitglied
Dipl.-Ing. Maschinenbau & IWE|Entwicklung & Konstruktion von Baumaschinenwerkzeugen


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

Beiträge: 171
Registriert: 12.09.2011

WorkStation:
Intel Xeon E3-1270 @3.40-3.80 GHz|K4/T8
32.00 GB RAM
Win 7/64 Bit
NVidia Quadro 2000
~
Dargestellt auf:
1 x 27" Fujitsu P27T-7
----
Autodesk Product Design Suite Ultimate 2012
Autodesk Product Design Suite Ultimate 2014
Autodesk Product Design Suite Ultimate 2017

erstellt am: 25. Nov. 2015 12:26    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

Sooo,...

ich habe noch ein wenig rumgetüftelt. Jetzt läuft die iLogic-Regel ohne Fehler durch. Ein einfaches "On Error Resume Next" vor dem ganzen Spaß hat geholfen. Ich weiß zwar immer noch nicht was den Fehler ausgelöst hat, aber die Regel erfüllt erstmal ihren Zweck.

===
On Error Resume Next
Dim oDrawDoc As DrawingDocument
oDrawDoc = ThisApplication.ActiveDocument

Dim oView As DrawingView

For Each oView In oDrawDoc.ActiveSheet.DrawingViews
oView.[ScaleString] = "1 : 50"

Next
===


Jetzt fehlt nur noch die angeforderte Eingabe des Maßstab-"Strings".

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)2020 CAD.de | Impressum | Datenschutz