| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Maßstab via iLogic (7218 mal gelesen)
|
DonPaulus Mitglied B. Eng.
Beiträge: 127 Registriert: 04.12.2012 Inventor 2015 SP2 Mechanical 2015 PSP 2011 HP Z400 Workstation Windows 7 64 Bit Intel Xeon W3550 3.07GHz 16.0 GB RAM NVIDIA Quadro 4000
|
erstellt am: 19. Apr. 2013 07:38 <-- editieren / zitieren --> Unities abgeben:
Guten Tag liebe Foren-Gemeinde! Vorweg sei gesagt. Ich habe bereits die weiten des WW und dieses Forum zum Thema durchforstet und bin nun an einen Punkt wo der Thread Sinn macht. Zum Thema: ich habe bereits einen iLogic Code um den Maßstab der ersten Ansicht zu lesen, auszugeben und im Schriftkopf darzustellen. Code ist folgender: Code: '====== Check Scale======Try 'Definieren von Maßstab Dim CurrentScale As String = ThisDoc.Document.Sheets(1).DrawingViews(1).ScaleString 'Fehlermeldung falls Ansicht nicht vorhanden Catch MessageBox.Show("Erstelle Ansicht um Maßstab anzuzeigen!","Keine Ansicht verfügbar",MessageBoxButtons.OK,MessageBoxIcon.Exclamation) Return End Try 'Abrufen der Erstansicht der aktuellen Zeichnung OtherScale = ThisDoc.Document.Sheets(1).DrawingViews(1).Name 'Abrufen des Maßstabs der Erstansicht DisplayScale = ActiveSheet.View(OtherScale).ScaleString 'iProperty den Wert zuweisen iProperties.Value("Custom", "Drawing Scale") = DisplayScale 'Update des Dokuments am Ende der Regel InventorVb.DocumentUpdate()
Diese iLogic-Regel funktioniert auch bestens und ohne Probleme BIS auf eine Sache die ich nicht hinbekomme. Solange es nur ein Blatt in der idw-Datei gibt klappt alles reibungslos. Sobald aber ein zweites Blatt hinzugefügt wird, wird der Maßstab von Blatt 1 übernommen. Da ich nun kein VBA Fachmann bin und schon froh bin so weit gekommen zu sein, folgende Frage an die Experten hier: Welche Codezeilen müssen hinzugefügt werden damit auch mit mehreren Blättern der Maßstab funktioniert bzw. damit er den (Erst-)Maßstab des aktuellen Blattes abruft. Ich hoffe mir kann jemand helfen und das mein Wunsch auch möglich ist. MfG Paulus
P.S: Der Maßstab muss in den Schriftkopf, diesen einfach pro Ansicht anzuzeigen steht nicht zur Debatte.
------------------ ... nur wer es wagt die Grenzen zu überschreiten wird sehen wie weit er gehen kann ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 19. Apr. 2013 08:49 <-- editieren / zitieren --> Unities abgeben: Nur für DonPaulus
Zitat: Original erstellt von DonPaulus:
P.S: Der Maßstab muss in den Schriftkopf, diesen einfach pro Ansicht anzuzeigen steht nicht zur Debatte.
Hallo, dir ist aber schon klar, dass es nur eine iProperty „Drawing Scale“ gibt, und wenn du mehrere Ansichten hast, immer nur die letzte drin stehen wird? Wenn das ok für dich ist, hier ist dein Code: Code:
'====== Check Scale====== Try'Definieren von Maßstab Dim CurrentScale As String = ThisDoc.Document.ActiveSheet.DrawingViews(1).ScaleString 'Fehlermeldung falls Ansicht nicht vorhanden Catch MessageBox.Show("Erstelle Ansicht um Maßstab anzuzeigen!","Keine Ansicht verfügbar",MessageBoxButtons.OK,MessageBoxIcon.Exclamation) Return End Try 'Abrufen der Erstansicht der aktuellen Zeichnung OtherScale = ThisDoc.Document.ActiveSheet.DrawingViews(1).Name 'Abrufen des Maßstabs der Erstansicht DisplayScale = ActiveSheet.View(OtherScale).ScaleString 'iProperty den Wert zuweisen iProperties.Value("Custom", "Drawing Scale") = DisplayScale 'Update des Dokuments am Ende der Regel InventorVb.DocumentUpdate()
------------------ Grüße Igor
FX64 Software Solutions - Inventor Tools FX64 LambdaSpect - Lichtsimulation mit Autodesk Inventor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DonPaulus Mitglied B. Eng.
Beiträge: 127 Registriert: 04.12.2012 Inventor 2015 SP2 Mechanical 2015 PSP 2011 HP Z400 Workstation Windows 7 64 Bit Intel Xeon W3550 3.07GHz 16.0 GB RAM NVIDIA Quadro 4000
|
erstellt am: 19. Apr. 2013 09:13 <-- editieren / zitieren --> Unities abgeben:
Und wenn ich versuche bei X Blättern auch X Maßstäbe (also jeweils erste Ansicht pro Blatt)zu lesen und diese in der benutz. iProperty(s) Drawing Scale X bis Drawing Scale X+i anzulegen? Geht das? Das jetzt mehrere benutz. iPropertys genutzt werden müssen ist klar. So müsste ich zwar den Schriftkopf jedes mal neu editieren oder in der Vorlage schon x+i viele Schriftköpfe haben aber das wäre erstmal egal wenn es nicht anders geht. MfG Paulus ------------------ ... nur wer es wagt die Grenzen zu überschreiten wird sehen wie weit er gehen kann ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 19. Apr. 2013 11:52 <-- editieren / zitieren --> Unities abgeben: Nur für DonPaulus
Hallo Paulus, probiere mal das hier: Code:
Sub FX64SetScaleForSheets() Dim oDrawing As DrawingDocument Set oDrawing = ThisApplication.ActiveDocument Dim i As Integer Dim oText As TextBox Dim oBackupSketch As DrawingSketch For i = 1 To oDrawing.Sheets.Count oDrawing.Sheets(i).Activate If Not oDrawing.Sheets(i).TitleBlock Is Nothing Then ' für If oDrawing.Sheets(i).TitleBlock Then isser zu dumm Set oBackupSketch = oDrawing.Sheets(i).Sketches.Add oDrawing.Sheets(i).TitleBlock.Definition.Sketch.CopyContentsTo oBackupSketch oDrawing.Sheets(i).TitleBlock.Delete Else MsgBox "Kein Schriftkopf vorhanden", vbCritical, "Möööp" Exit Sub End If On Error Resume Next oDrawing.TitleBlockDefinitions("Scale " & i).Delete oDrawing.TitleBlockDefinitions.Add "Scale " & i oDrawing.Sheets(i).AddTitleBlock oDrawing.TitleBlockDefinitions("Scale " & i) oBackupSketch.CopyContentsTo oDrawing.TitleBlockDefinitions("Scale " & i).Sketch oBackupSketch.Delete FX64SetProperty oDrawing, 4, "Drawing Scale " & i, oDrawing.ActiveSheet.DrawingViews(1).ScaleString Dim oEditSketch As DrawingSketch oDrawing.TitleBlockDefinitions("Scale " & i).Edit oEditSketch For Each oText In oEditSketch.TextBoxes If oText.Text = "<Drawing Scale>" Then oText.FormattedText = Replace(oText.FormattedText, "Drawing Scale", "Drawing Scale " & i) End If Next oDrawing.TitleBlockDefinitions("Scale " & i).ExitEdit oDrawing.Sheets(i).TitleBlock.Delete oDrawing.Sheets(i).AddTitleBlock oDrawing.TitleBlockDefinitions("Scale " & i) Next End Sub Sub FX64SetProperty(ByRef oDoc As Document, PropSet As Integer, PropName As String, PropValue As String) On Error Resume Next oDoc.PropertySets(PropSet).Add PropValue, PropName If Err.Number <> 0 Then oDoc.PropertySets(PropSet).Item(PropName).Value = PropValue End If End Sub
EDIT: Es ist schon klar, dass das VBA Code ist und kein iStup.. ähm Logic ist? ------------------ Grüße Igor FX64 Software Solutions - Inventor Tools FX64 LambdaSpect - Lichtsimulation mit Autodesk Inventor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DonPaulus Mitglied B. Eng.
Beiträge: 127 Registriert: 04.12.2012 Inventor 2015 SP2 Mechanical 2015 PSP 2011 HP Z400 Workstation Windows 7 64 Bit Intel Xeon W3550 3.07GHz 16.0 GB RAM NVIDIA Quadro 4000
|
erstellt am: 19. Apr. 2013 12:19 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von daywa1k3r: Hallo Paulus,... EDIT: Es ist schon klar, dass das VBA Code ist und kein iStup.. ähm Logic ist?
Oh Gott will da am besten gar nicht antworten . Wie gesagt habe nicht gerade viel Ahnung davon. Bissl iLogiken krieg ich hin aber mehr wohl nicht. Wenn das nicht für iLogic gedacht ist, wie muss ich dann vorgehen? Sicher über den VBA Editor oder? Hab mich an diese Module noch nicht rangetraut. MfG Paulus ------------------ ... nur wer es wagt die Grenzen zu überschreiten wird sehen wie weit er gehen kann ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 19. Apr. 2013 12:27 <-- editieren / zitieren --> Unities abgeben: Nur für DonPaulus
|
DonPaulus Mitglied B. Eng.
Beiträge: 127 Registriert: 04.12.2012 Inventor 2015 SP2 Mechanical 2015 PSP 2011 HP Z400 Workstation Windows 7 64 Bit Intel Xeon W3550 3.07GHz 16.0 GB RAM NVIDIA Quadro 4000
|
erstellt am: 19. Apr. 2013 12:36 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von daywa1k3r:
Schau mal hier, und hier
Ah OK, werd die Default aber am besten sichern Ich nehme an die iLogic aus der IDW-Datei kann gelöscht werden? MfG Paulus Edit: Und ich nehme mal an Alt+F11 wenn die Vorlagen idw offen ist? ------------------ ... nur wer es wagt die Grenzen zu überschreiten wird sehen wie weit er gehen kann ... [Diese Nachricht wurde von DonPaulus am 19. Apr. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 19. Apr. 2013 13:01 <-- editieren / zitieren --> Unities abgeben: Nur für DonPaulus
|
DonPaulus Mitglied B. Eng.
Beiträge: 127 Registriert: 04.12.2012 Inventor 2015 SP2 Mechanical 2015 PSP 2011 HP Z400 Workstation Windows 7 64 Bit Intel Xeon W3550 3.07GHz 16.0 GB RAM NVIDIA Quadro 4000
|
erstellt am: 19. Apr. 2013 13:02 <-- editieren / zitieren --> Unities abgeben:
Also zur Erläuterung: IDW geöffnet Alt+F11 Beim Anwendungsprojekt /Modul 1 deinen Code eingefügt Zur Kontrolle F5 Dabei kam der Screen im Anhang raus. Fehler im Code oder doch von mir? MfG Paulus ------------------ ... nur wer es wagt die Grenzen zu überschreiten wird sehen wie weit er gehen kann ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 19. Apr. 2013 13:10 <-- editieren / zitieren --> Unities abgeben: Nur für DonPaulus
|
DonPaulus Mitglied B. Eng.
Beiträge: 127 Registriert: 04.12.2012 Inventor 2015 SP2 Mechanical 2015 PSP 2011 HP Z400 Workstation Windows 7 64 Bit Intel Xeon W3550 3.07GHz 16.0 GB RAM NVIDIA Quadro 4000
|
erstellt am: 19. Apr. 2013 13:48 <-- editieren / zitieren --> Unities abgeben:
Also funktionieren tut es wenn ich eben F5 im VBA-Editor drücke oder eben über Inventor über Extras > Makros > Run starte. Gibts da ne Möglichkeit das ganze laufen zu lassen wenn gespeichert wird, die Props geändert werden oder dergleichen? versuche halt diese automatische "nebenbei" hinzukriegen ohne explizit nen button drücken zu müssen. Ideen oder Vorschläge oder vergesse ich was? MfG Paulus Edit: Muss ich in mein Textfeld nun die Property "Drawing Scale 1" einfügen und für jedes Blatt dann eben mit 2,3,4,... ändern oder gibt es da einen Automatismus? ------------------ ... nur wer es wagt die Grenzen zu überschreiten wird sehen wie weit er gehen kann ... [Diese Nachricht wurde von DonPaulus am 19. Apr. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 19. Apr. 2013 14:35 <-- editieren / zitieren --> Unities abgeben: Nur für DonPaulus
Du musst nichts mehr hinzufügen. Das Makro erstellt die neue TitleBlocks, editiert die TextBox Drawing Scale, und verknüpft diese automatisch mit den ebenso automatisch erstellten Properties „Drawing Scale X“ die verschiedene Maßstäbe für einzelne Blätter beinhalten. Also sollte es reichen das Makro auszuführen. Was den OnSave Mechanismus betrifft… Man könnte die AutoSave Funktion in deine Vorlage ablegen, aber das würde ich nicht empfehlen da es Probleme bei der Datenmigration geben könnte. Ebenso könnte man eine externe iLogic Regel zu erstellen (z.B. mit dem Namen „AutoSave“) und darin dann das Makro aufzurufen mit Zeile: Code:
InventorVb.RunMacro("ApplicationProject", "Module1", "FX64SetScaleForSheets")
Gegebenenfalls Projekt- und Modul Name anpassen. Anschließend kannst du unter „Event Triggers“ vor dem Speichern dein AutoSave Marko automatisch ausführen (siehe Bild - AutoSave). Aber auch davon würde ich abraten, denn es ist iLogic. Lege dir einfach einen Button neben Speichern und klicke es einmal um das Makro auszuführen (Siehe Bild - CustomizeRibon). Das Makro erspart dir sicherlich pro Zeichnung >20 Klicks, also stell dich nicht so an Edit: Das Makro setzt natürlich voraus, dass im Schriftfeld eine TextBox "Drawing Scale" vorhanden ist. Diese wird modifiziert, und bekommt Maßstab von dem Blatt... ------------------ Grüße Igor FX64 Software Solutions - Inventor Tools FX64 LambdaSpect - Lichtsimulation mit Autodesk Inventor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DonPaulus Mitglied B. Eng.
Beiträge: 127 Registriert: 04.12.2012 Inventor 2015 SP2 Mechanical 2015 PSP 2011 HP Z400 Workstation Windows 7 64 Bit Intel Xeon W3550 3.07GHz 16.0 GB RAM NVIDIA Quadro 4000
|
erstellt am: 19. Apr. 2013 15:05 <-- editieren / zitieren --> Unities abgeben:
Jetzt bekomme ich doch langsam Den Durchblick, gut ok nen extra Button zu bauen geht auch und spart ja wie du sagst AAABER Das Makro legt zwar die "Drawing Scale 1" bis "Drawing Scale X" an bei den ben. iProps aber ersetzt NICHT das Textfeld bzw. deren Inhalt vom ben. Prop "Drawing Scale". das textfeld bleibt so wie es ist und vom 2Drawing Scale X" keine Spur. Woran könnte das liegen? Habe "Drawing Scale" als ben.-def. iProperty angelegt und über die entsprechende Inventor Funktion im Schriftfeld eingebaut. ------------------ ... nur wer es wagt die Grenzen zu überschreiten wird sehen wie weit er gehen kann ... [Diese Nachricht wurde von DonPaulus am 19. Apr. 2013 editiert.] [Diese Nachricht wurde von DonPaulus am 19. Apr. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 19. Apr. 2013 15:35 <-- editieren / zitieren --> Unities abgeben: Nur für DonPaulus
Hi, Drawing Scale Eigenschaft soll auch nicht getauscht werden. Wenn für jedes Blatt eine neue Benutzer-Property erstellt wurde („Drawing Scale X“) ist diese Teilaufgabe erfüllt. Wurden unter Benutzer Eigenschaften die neuen „Drawing Scale X“ Eigenschaften erstellt? Wenn ja. Schau mal ob in der Zeichnungsdefinition neue Schriftköpfe (auch einer pro Blatt) mit Namen „Scale X“ erstellt wurden? Wenn ja, schau ob die Schriftköpfe in den einzelnen Blättern getauscht wurden (Blatt1 = „Scale 1“, usw). Wenn ja, dann gehe auf Bearbeiten von einem der neuen Schriftköpfen, und schau ob ein Text <Drawing Scale> existiert. Wenn ja, schau mal in der Definition ob der Wert für die Textbox mit der Benutzereigenschaft „Drawing Scale X“ verknüpft ist. Wenn ja, sollten die Maßstäbe auch richtig eingetragen sein. Sag bescheid wie weit du kommst. ------------------ Grüße Igor
FX64 Software Solutions - Inventor Tools FX64 LambdaSpect - Lichtsimulation mit Autodesk Inventor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DonPaulus Mitglied B. Eng.
Beiträge: 127 Registriert: 04.12.2012 Inventor 2015 SP2 Mechanical 2015 PSP 2011 HP Z400 Workstation Windows 7 64 Bit Intel Xeon W3550 3.07GHz 16.0 GB RAM NVIDIA Quadro 4000
|
erstellt am: 19. Apr. 2013 15:47 <-- editieren / zitieren --> Unities abgeben:
Zitat:
Wurden unter Benutzer Eigenschaften die neuen „Drawing Scale X“ Eigenschaften erstellt
JA die benutzer Eigenschaften werden erstellt. Zitat:
Wenn ja. Schau mal ob in der Zeichnungsdefinition neue Schriftköpfe (auch einer pro Blatt) mit Namen „Scale X“ erstellt wurden?
Auch das passiert wie verlangt. Zitat:
Wenn ja, schau ob die Schriftköpfe in den einzelnen Blättern getauscht wurden (Blatt1 = „Scale 1“, usw).
Alles in Ordnung. Zitat:
Wenn ja, dann gehe auf Bearbeiten von einem der neuen Schriftköpfen, und schau ob ein Text <Drawing Scale> existiert.
Ja der existiert. Wie gesagt der "Drawing Scale" welcher als Ben. Prop angelegt wurde und über die Textfunktion im Textfeld eingefügt also die <> nicht von Hand sondern durch die Funktion. Zitat:
Wenn ja, schau mal in der Definition ob der Wert für die Textbox mit der Benutzereigenschaft „Drawing Scale X“ verknüpft ist.
Ja und das verstehe ich nun nicht. Drawing Scale ist immer mit Drawing Scale verknüpft. Welche Definition meinst du? Sonst würde im Textfeld doch auch Drawing Sclae X stehen oder nicht? Edit: P.S: Habe in 10 min Feierabend und bin dann weg. Also werde ich erst am Montag wieder antworten und testen können.
MfG Paulus ------------------ ... nur wer es wagt die Grenzen zu überschreiten wird sehen wie weit er gehen kann ... [Diese Nachricht wurde von DonPaulus am 19. Apr. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 19. Apr. 2013 15:52 <-- editieren / zitieren --> Unities abgeben: Nur für DonPaulus
|
DonPaulus Mitglied B. Eng.
Beiträge: 127 Registriert: 04.12.2012 Inventor 2015 SP2 Mechanical 2015 PSP 2011 HP Z400 Workstation Windows 7 64 Bit Intel Xeon W3550 3.07GHz 16.0 GB RAM NVIDIA Quadro 4000
|
erstellt am: 19. Apr. 2013 15:54 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von daywa1k3r: Ok, wenn du in Bearbeitungsmodus von dem Schriftkopf (Bearbeiten) auf <Drawing Scale> doppelklickst, kommst du in die Definition von der TextBox. Der Name Drawing Scale bleibt, jedoch sollte der WERT der TextBox (die rechte ComboBox) mit einer von den neuerstellten „Drawing Scale X“ Benutzereigenschaften verknüpft sein. Ist sie das nicht?
Ah verstehe. Nein dort steht weiterhin "Drawing Scale" ------------------ ... nur wer es wagt die Grenzen zu überschreiten wird sehen wie weit er gehen kann ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 19. Apr. 2013 16:01 <-- editieren / zitieren --> Unities abgeben: Nur für DonPaulus
|
DonPaulus Mitglied B. Eng.
Beiträge: 127 Registriert: 04.12.2012 Inventor 2015 SP2 Mechanical 2015 PSP 2011 HP Z400 Workstation Windows 7 64 Bit Intel Xeon W3550 3.07GHz 16.0 GB RAM NVIDIA Quadro 4000
|
erstellt am: 19. Apr. 2013 16:09 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von daywa1k3r:
Hm, bei mir funktioniert es. Wenn du eine Beispielzeichnung schicken darfst, kannst du das gerne an igor (at) fx64.de tun.
Ich schicke dir was. Wichtige daten sind nicht dabei, sind eher Experiment Dateien von mir direkt Anbei noch ein Bild wie es halt ausschaut. Gut schicke dann die IDW, IPT und die Default? Dann schönes We. Ich muss nun los, schaue zwar über das we hier rein aber werde nichts machen können. MfG Paulus Edit Igor: Den Screenshot und die Dateien entfernt - zu viele Firmendaten... Habe deine Dateien erhalten. Ich melde mich... ------------------ ... nur wer es wagt die Grenzen zu überschreiten wird sehen wie weit er gehen kann ... [Diese Nachricht wurde von DonPaulus am 19. Apr. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 19. Apr. 2013 17:17 <-- editieren / zitieren --> Unities abgeben: Nur für DonPaulus
Du hast zwei Schriftköpfe R…. und F…. und in der Zeichnung war aktuell die R…. eingebunden. In diesem Schriftkopf ist jedoch keine Textbox mit <Drawing Scale> vorhanden, und somit passiert nichts wenn dieser Schriftkopf aktiv ist. Wo nichts ist kann nichts modifiziert werden. Der andere Schriftkopf F…. beinhaltet jedoch die benötigte TextBox <Drawing Scale> und da funktioniert es so wie es soll. In der Definition von der Textbox zeigt er allerdings dass die Textbox mit gar nichts verknüpft ist, obwohl der richtige Wert aus Benutzereigenschaft in der Zeichnung übernommen wird… Zudem ist es so, dass wenn man über die Benutzeroberfläche den Schriftkopf bearbeiten möchte (egal was es ist – auch nur ein Buchstabe in beliebiger Textbox) kann er die Skizze nicht mehr auflösen. ------------------ Grüße Igor FX64 Software Solutions - Inventor Tools FX64 LambdaSpect - Lichtsimulation mit Autodesk Inventor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DonPaulus Mitglied B. Eng.
Beiträge: 127 Registriert: 04.12.2012 Inventor 2015 SP2 Mechanical 2015 PSP 2011 HP Z400 Workstation Windows 7 64 Bit Intel Xeon W3550 3.07GHz 16.0 GB RAM NVIDIA Quadro 4000
|
erstellt am: 20. Apr. 2013 14:56 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von daywa1k3r: Du hast zwei Schriftköpfe R…. und F…. und in der Zeichnung war aktuell die R…. eingebunden. In diesem Schriftkopf ist jedoch keine Textbox mit <Drawing Scale> vorhanden, und somit passiert nichts wenn dieser Schriftkopf aktiv ist. Wo nichts ist kann nichts modifiziert werden. Der andere Schriftkopf F…. beinhaltet jedoch die benötigte TextBox <Drawing Scale> und da funktioniert es so wie es soll. In der Definition von der Textbox zeigt er allerdings dass die Textbox mit gar nichts verknüpft ist, obwohl der richtige Wert aus Benutzereigenschaft in der Zeichnung übernommen wird… Zudem ist es so, dass wenn man über die Benutzeroberfläche den Schriftkopf bearbeiten möchte (egal was es ist – auch nur ein Buchstabe in beliebiger Textbox) kann er die Skizze nicht mehr auflösen.
OK also jetzt den F... Schriftkopf nehmen und gut ist? Mit dem nicht auflösen der Skizze kannte ich schon aber weiß beim besten Willen nicht woher das kommt. MfG Paulus ------------------ ... nur wer es wagt die Grenzen zu überschreiten wird sehen wie weit er gehen kann ... 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: 20. Apr. 2013 17:43 <-- editieren / zitieren --> Unities abgeben: Nur für DonPaulus
|
DonPaulus Mitglied B. Eng.
Beiträge: 127 Registriert: 04.12.2012 Inventor 2015 SP2 Mechanical 2015 PSP 2011 HP Z400 Workstation Windows 7 64 Bit Intel Xeon W3550 3.07GHz 16.0 GB RAM NVIDIA Quadro 4000
|
erstellt am: 22. Apr. 2013 07:21 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von DonPaulus:
OK also jetzt den F... Schriftkopf nehmen und gut ist? Mit dem nicht auflösen der Skizze kannte ich schon aber weiß beim besten Willen nicht woher das kommt. MfG Paulus
Also habe es nun nochmal probiert und auch beim F... Schriftkopf passiert nichts. Drawing Scale bleibt Drawing Scale und das wars. Was mich nur wundert ist, da es bei dir klappt und bei mir nicht. Woran könnte sowas liegen? Vor allem wenn alles richtig zu sei scheint? Warum klappt sowas bei mir immer nicht^^ MfG Paulus ------------------ ... nur wer es wagt die Grenzen zu überschreiten wird sehen wie weit er gehen kann ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 22. Apr. 2013 08:57 <-- editieren / zitieren --> Unities abgeben: Nur für DonPaulus
|
DonPaulus Mitglied B. Eng.
Beiträge: 127 Registriert: 04.12.2012 Inventor 2015 SP2 Mechanical 2015 PSP 2011 HP Z400 Workstation Windows 7 64 Bit Intel Xeon W3550 3.07GHz 16.0 GB RAM NVIDIA Quadro 4000
|
erstellt am: 22. Apr. 2013 09:14 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von daywa1k3r: Hallo Paulus, schwierig zu sagen von hier aus. Ich mache mal ein Video und schicke es dir per Email.
Vielen Dank! Habe es jetzt nochmal mit einer anderen Vorlage probiert und es funktioniert. Ebenfalls funktioniert es bei einen neuen Schriftkopf. Irgendwie muss der vorhandene "verbuggt" sein?! Habe das Gefühl es hing auch mit dem Nichtauflösen der Skizze zusammen. MfG Paulus
------------------ ... nur wer es wagt die Grenzen zu überschreiten wird sehen wie weit er gehen kann ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DonPaulus Mitglied B. Eng.
Beiträge: 127 Registriert: 04.12.2012 Inventor 2015 SP2 Mechanical 2015 PSP 2011 HP Z400 Workstation Windows 7 64 Bit Intel Xeon W3550 3.07GHz 16.0 GB RAM NVIDIA Quadro 4000
|
erstellt am: 11. Jun. 2013 09:08 <-- editieren / zitieren --> Unities abgeben:
Eine Sache ist mir beim nutzen des Makros nun doch noch aufgefallen. Zwar funktioniert alles wie es soll aber es gibt einen "Schönheitsfehler". Sobald man zB mehrere Blätter (mit Ansichten) hat und das Makro durchlaufen lässt, erstellt er zwar Drawing Scale "X" und löscht den Vorgänger raus ABER Alle restlichen Textfelder werden kopiert und "drüber gelegt". Man erkennt das spätestens bei der PDF Erstellung wenn die restlichen Texte wie dick markiert wirken. Wenn man das Makro nur einmal laufen lässt ist alles in Ordnung aber spätestens beim zweiten Durchlauf beginnt dieses "drüberlegen" der Texte. Wie gesagt ein kleiner nerviger Schönheitsfehler. Kann man das irgendwie korrigieren? Hoffe es ist verständlich was ich meine. MfG Paulus Edit: Hier nochmal der Makro Code Code: Sub FX64SetScaleForSheets() Dim oDrawing As DrawingDocument Set oDrawing = ThisApplication.ActiveDocument Dim i As Integer Dim oText As TextBox For i = 1 To oDrawing.Sheets.Count On Error Resume Next oDrawing.Sheets(i).Activate oDrawing.TitleBlockDefinitions("Scale " & i).Delete oDrawing.TitleBlockDefinitions.Add "Scale " & i oDrawing.ActiveSheet.TitleBlock.Definition.Sketch.CopyContentsTo oDrawing.TitleBlockDefinitions("Scale " & i).Sketch FX64SetProperty oDrawing, 4, "Drawing Scale " & i, oDrawing.ActiveSheet.DrawingViews(1).ScaleString Dim oEditSketch As DrawingSketch oDrawing.TitleBlockDefinitions("Scale " & i).Edit oEditSketch For Each oText In oEditSketch.TextBoxes If oText.Text = "<Drawing Scale>" Then oText.FormattedText = Replace(oText.FormattedText, "Drawing Scale", "Drawing Scale " & i) End If Next oDrawing.TitleBlockDefinitions("Scale " & i).ExitEdit oDrawing.Sheets(i).TitleBlock.Delete oDrawing.Sheets(i).AddTitleBlock oDrawing.TitleBlockDefinitions("Scale " & i) Next End Sub Sub FX64SetProperty(ByRef oDoc As Document, PropSet As Integer, PropName As String, PropValue As String) On Error Resume Next oDoc.PropertySets(PropSet).Add PropValue, PropName If Err.Number <> 0 Then oDoc.PropertySets(PropSet).Item(PropName).Value = PropValue End If End Sub
------------------ ... nur wer es wagt die Grenzen zu überschreiten wird sehen wie weit er gehen kann ... [Diese Nachricht wurde von DonPaulus am 11. Jun. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 11. Jun. 2013 10:22 <-- editieren / zitieren --> Unities abgeben: Nur für DonPaulus
Code:
Sub FX64SetScaleForSheets() Dim oDrawing As DrawingDocument Set oDrawing = ThisApplication.ActiveDocument Dim i As Integer Dim oText As TextBox Dim oBackupSketch As DrawingSketch For i = 1 To oDrawing.Sheets.Count oDrawing.Sheets(i).Activate If Not oDrawing.Sheets(i).TitleBlock Is Nothing Then ' für If oDrawing.Sheets(i).TitleBlock Then isser zu dumm Set oBackupSketch = oDrawing.Sheets(i).Sketches.Add oDrawing.Sheets(i).TitleBlock.Definition.Sketch.CopyContentsTo oBackupSketch oDrawing.Sheets(i).TitleBlock.Delete Else MsgBox "Kein Schriftkopf vorhanden", vbCritical, "Möööp" Exit Sub End If On Error Resume Next oDrawing.TitleBlockDefinitions("Scale " & i).Delete oDrawing.TitleBlockDefinitions.Add "Scale " & i oDrawing.Sheets(i).AddTitleBlock oDrawing.TitleBlockDefinitions("Scale " & i) oBackupSketch.CopyContentsTo oDrawing.TitleBlockDefinitions("Scale " & i).Sketch oBackupSketch.Delete FX64SetProperty oDrawing, 4, "Drawing Scale " & i, oDrawing.ActiveSheet.DrawingViews(1).ScaleString Dim oEditSketch As DrawingSketch oDrawing.TitleBlockDefinitions("Scale " & i).Edit oEditSketch For Each oText In oEditSketch.TextBoxes If oText.Text = "<Drawing Scale>" Then oText.FormattedText = Replace(oText.FormattedText, "Drawing Scale", "Drawing Scale " & i) End If Next oDrawing.TitleBlockDefinitions("Scale " & i).ExitEdit oDrawing.Sheets(i).TitleBlock.Delete oDrawing.Sheets(i).AddTitleBlock oDrawing.TitleBlockDefinitions("Scale " & i) Next End Sub Sub FX64SetProperty(ByRef oDoc As Document, PropSet As Integer, PropName As String, PropValue As String) On Error Resume Next oDoc.PropertySets(PropSet).Add PropValue, PropName If Err.Number <> 0 Then oDoc.PropertySets(PropSet).Item(PropName).Value = PropValue End If End Sub
Sollte funktionieren. ------------------ Grüße Igor FX64 Software Solutions - Inventor Tools FX64 LambdaSpect - Lichtsimulation mit Autodesk Inventor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DonPaulus Mitglied B. Eng.
Beiträge: 127 Registriert: 04.12.2012 Inventor 2015 SP2 Mechanical 2015 PSP 2011 HP Z400 Workstation Windows 7 64 Bit Intel Xeon W3550 3.07GHz 16.0 GB RAM NVIDIA Quadro 4000
|
erstellt am: 11. Jun. 2013 10:36 <-- editieren / zitieren --> Unities abgeben:
Leider eine Fehlermeldung. siehe Anhang. MfG Paulus ------------------ ... nur wer es wagt die Grenzen zu überschreiten wird sehen wie weit er gehen kann ... [Diese Nachricht wurde von DonPaulus am 11. Jun. 2013 editiert.] [Diese Nachricht wurde von DonPaulus am 11. Jun. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 11. Jun. 2013 11:16 <-- editieren / zitieren --> Unities abgeben: Nur für DonPaulus
|
DonPaulus Mitglied B. Eng.
Beiträge: 127 Registriert: 04.12.2012 Inventor 2015 SP2 Mechanical 2015 PSP 2011 HP Z400 Workstation Windows 7 64 Bit Intel Xeon W3550 3.07GHz 16.0 GB RAM NVIDIA Quadro 4000
|
erstellt am: 11. Jun. 2013 11:30 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von daywa1k3r: Dein Code ist nicht aktuell. Bitte updaten und nochmal probieren.PS: Die Sub FX64SetProperty muss natürlich vorhanden sein.
Ja stimmt ja, ist mir dann auch aufgefallen Vielen Dank, jetzt funktioniert es bestens MfG Paulus
------------------ ... nur wer es wagt die Grenzen zu überschreiten wird sehen wie weit er gehen kann ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pietro46 Mitglied Technischer Zeichner / Konstrukteure
Beiträge: 12 Registriert: 28.01.2009
|
erstellt am: 26. Jun. 2013 07:29 <-- editieren / zitieren --> Unities abgeben: Nur für DonPaulus
Hallo ich habe ein Problem und es wahr? Ich habe in der Forum schon geschaut und ich habe nicht gefunden was ich brauche. Bei Jürgen bin ziemlich weiter gekommen bis folgender Problem aber Speicher nicht in dem Ordner wo ich möchte. Bin gerade mit iLogic ein Skript zum Schreiben und komm nicht zurecht, der Fehler ist da der erstellt der pdf beim Speichern schon aber wird nicht weiter aktualisiert bzw. überschreibt. was ich brauche ist wen der Datei speichern sollte es mir der Pfd. erstellen Maßstab erst Ansicht dxf. Das ist meine pdf Code was mache ich falsch und was fehlt noch. ThisDoc.Document.SaveAs(ThisDoc.ChangeExtension(".pdf") , True)
Ich bedanke mich vorauss
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DonPaulus Mitglied B. Eng.
Beiträge: 127 Registriert: 04.12.2012 Inventor 2015 SP2 Mechanical 2015 PSP 2011 HP Z400 Workstation Windows 7 64 Bit Intel Xeon W3550 3.07GHz 16.0 GB RAM NVIDIA Quadro 4000
|
erstellt am: 26. Jun. 2013 07:53 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von pietro46: Hallo ich habe ein Problem und es wahr? Ich habe in der Forum schon geschaut und ich habe nicht gefunden was ich brauche. Bei Jürgen bin ziemlich weiter gekommen bis folgender Problem aber Speicher nicht in dem Ordner wo ich möchte. Bin gerade mit iLogic ein Skript zum Schreiben und komm nicht zurecht, der Fehler ist da der erstellt der pdf beim Speichern schon aber wird nicht weiter aktualisiert bzw. überschreibt. was ich brauche ist wen der Datei speichern sollte es mir der Pfd. erstellen Maßstab erst Ansicht dxf. Das ist meine pdf Code was mache ich falsch und was fehlt noch. ThisDoc.Document.SaveAs(ThisDoc.ChangeExtension(".pdf") , True)
Ich bedanke mich vorauss
Ich würde ja gerne helfen aber aus deinen Text werde ich nicht schlau. Wäre gut wenn du das klarer formulieren könntest, ansonsten müsste das jemand anderes verstehen. MfG Paulus ------------------ ... nur wer es wagt die Grenzen zu überschreiten wird sehen wie weit er gehen kann ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
muellc Ehrenmitglied V.I.P. h.c. ICT Specialist
Beiträge: 3501 Registriert: 30.11.2006 Inventor 2017.4.12 64 bit Windows 10 Enterprise 64 bit 3DEXPERIENCE R2016x -------------------- HP Z-Book 15 G4 32 Gig Ram NVIDIA Quadro M2200 2x HP E243i
|
erstellt am: 26. Jun. 2013 08:14 <-- editieren / zitieren --> Unities abgeben: Nur für DonPaulus
Hallo pietro, zuerst ein paar kleiner Hinweis. Du solltest nicht einfach irgendwo hinposten, das findet keiner wieder und bringt nur Unordnung. Du solltest, auch wenn Deutsch nicht deine Muttersprache ist, deine Beiträge besser formulieren, da wir sonst echt Probleme haben dich zu verstehen. Jetzt zu deiner Frage, schau mal ob dir das weiterhilft, was ich hier gepostet habe: http://ww3.cad.de/foren/ubb/Forum50/HTML/032270.shtml#000012 ------------------ Gruß, Gandhi It's not a bug, it's a feature!
[Diese Nachricht wurde von muellc am 26. Jun. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Plumps2ooo Mitglied Maschinenbau Ingenieur
Beiträge: 258 Registriert: 15.11.2006 Desktop HP Z230 Tower Workstation Autodesk Inventor 2015 Laptop Dell Precision M6600 7 64Bit Professional SolidWorks 2015
|
erstellt am: 07. Jul. 2015 13:48 <-- editieren / zitieren --> Unities abgeben: Nur für DonPaulus
Zitat: Original erstellt von daywa1k3r:Sollte funktionieren.
Tut es Auch Moin Igor, ich habe dennoch zwei Fragen. Erstmal danke für dieses tolle Makro, funktioniert wie es soll bei mir. Allerdings habe ich ein Logo.bmp in meinem Textfeld, dieses wird nicht mit kopiert...? Dann habe ich versucht bei meinen Kollegen das Makro einzufügen, aber bei denen existiert kein Anwendungsprojekt im VBA. Nun bin ich Ratlos. Kannst du mir in beiden Fällen weiter helfen? Gruß Plumps [Diese Nachricht wurde von Plumps2ooo am 07. Jul. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |