| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
| Webcast: PTC | Smart Connected Manufacturing, Webinar am 25.10.2024 |
Autor
|
Thema: Makro läuft unter V20.5 nur bedingt (275 mal gelesen)
|
stere0 Mitglied
Beiträge: 50 Registriert: 29.11.2012 Win 10 CED V20.5 WNC 12.0.2.6 Solid Power PEX Creo 8.0.5.0
|
erstellt am: 26. Apr. 2024 15:26 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe mir mal vor ca. 10 Jahren ein Makro geschrieben in dem Oberflächenangaben etc. auf der Zeichnung abgelegt werden. Das Makro lief unter der V17 & V20.0 bisher auch einwandfrei. Unter der V20.5 läuft es nun nur noch bedingt und es gibt je nach Einstellung einen Fehler aus, den ich nicht selber finde... Ich setze in einem Dialog die Blattgröße manuell, entweder A4 oder A3+, welches Einfluss auf den Ort der abgesetzten Oberflächenangaben hat. Nun ist es so das wenn ich das Format A3+ auswähle nur eine Teil ausgeführt wird, eine Skizze wird geladen und abgesetzt, danach läuft das Makro in einen Fehler "Besitzer ist nicht derselbe". Wenn ich die Blattgröße A4 auswähle, dann läuft es so durch. Komischerweise wird bei der fehlerhaften A3+ Option eine Linie des Schriftfeldes hervorgehoben, als ob diese irgendwie ausgewählt wird. Ich finde in dem Code allerdings dazu nirgends etwas das etwas ausgewählt wird. Ich gebe an sich immer eine Skizze als owner an, so das eigentlich nichts ausgewählt werden sollte. Hat hier vll. wer eine Idee woran das liegen könnte? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
stere0 Mitglied
Beiträge: 50 Registriert: 29.11.2012 Win 10 CED V20.5 WNC 12.0.2.6 Solid Power PEX Creo 8.0.5.0
|
erstellt am: 26. Apr. 2024 15:38 <-- editieren / zitieren --> Unities abgeben:
Und hier noch der Code und die Symbole, falls es wer komplett ausprobieren will. Die fehlerhafte Stelle müsste so bei Zeile 500 sein. Code: (progn ;;Standardzeichen setzen (cond ((equal oberfl_1 "roh") (am_create_symbol_surface :standard :ISO2002 :form 1 :text_color 16776960 :done :geo_color 16776960 :done :size_abs 3.5 :b oberfl_1 :owner (format nil "/~a/~a" csn sketch1) (gpnt2d pos_o1 pos_y) );;am_create ) (t (am_create_symbol_surface :standard :ISO1992 :form 1 :text_color 16776960 :done :geo_color 16776960 :done :size_abs 3.5 :a1 oberfl_1 :owner (format nil "/~a/~a" csn sketch1) (gpnt2d pos_o1 pos_y) );;am_create );;t );;cond );;progn
Übers Tracen komme ich nicht weiter, da ich quasi nur alles Trace und das Ergebnis für mich zu unübersichtlich wird.
[Diese Nachricht wurde von stere0 am 27. Apr. 2024 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andylau Mitglied
Beiträge: 56 Registriert: 07.06.2021
|
erstellt am: 27. Apr. 2024 07:15 <-- editieren / zitieren --> Unities abgeben: Nur für stere0
Hi, Could you change line477, line508&519 and then try again? line477: change: (AM_SKETCH_DELETE :sketch (format nil "/~a/~a" csn sketch1) :YES) to (AM_SKETCH_DELETE :sketch (format nil "/~a/~a" csn sketch1)) delete ":yes". line 508&519 change (gpnt2d pos_o1 pos_y) to (gpnt2d pos_o1 (+ pos_y 1)) from line 508 to 598, change every pos_y to (+ pos_y 1) The reason for this is when you place the roughness symbol, (gpnt2d pos_o1 pos_y) will select the line by mistake. The change may decrease the chance of mistake. But maynot eliminate the mistake. Andy
[Diese Nachricht wurde von Andylau am 28. Apr. 2024 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
stere0 Mitglied
Beiträge: 50 Registriert: 29.11.2012 Win 10 CED V20.5 WNC 12.0.2.6 Solid Power PEX Creo 8.0.5.0
|
erstellt am: 29. Apr. 2024 10:00 <-- editieren / zitieren --> Unities abgeben:
Hallo Andy, danke für deine Rückmeldung. Das löschen des :YES hinter dem delete Befehl macht nichts an dem eigentlichen Fehler. Durch das löschen des :YES funktioniert der Befehl an sich auch nicht mehr und es wird eine eventuell vorhandene Skizze mit dem gleichen Namen auch nicht mehr gelöscht. Bezüglich des anpassen des Codes von pos_y zu (+ pos_y 1), hier habe ich einfach den Offset in Zeile 31, setf offset_y_links, von 2 auf 3 geändert. Das sollte an sich aufs gleiche rauskommen, ohne die einzelnen Codezeilen anzupassen. Mit der Anpassung des Offsets um 1 bekomme ich den Fehler nun auch nicht mehr. Aber wie du schon schreibst ist das ehr eine umgehen des Fehlers und kein beheben. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |