| |
| 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, ein Webinar am 25.10.2024
|
Autor
|
Thema: Textgröße einer Bemaßung (1985 / mal gelesen)
|
MiBr Mitglied Konstrukteur
Beiträge: 575 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 18. Jan. 2018 09:01 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich suche eine Möglichkeit mir die Textgröße einer Bemaßung anzeigen zu lassen. Per sd-defdialog suche ich eine Bemaßung in Annotation aus: Code: (Ausw_item :selection *sd-anno-dimension-seltype* :title "Maß auswählen" : prompt-text "Maß auswählen" :toggle-type :invisible :next-variable 'Ausw_item )
Und damit bekomme ich schon folgendes : (sd-am-inq-dim-value ausw_item)) -> Nennmaß (sd-am-inq-dim-text-cen-pnt ausw_item)) -> Mittelpunkt der Bemaßung (first (sd-call-cmds (get_selection :focus_type *sd-anno-view-seltype* :select (sd-am-inq-dim-text-cen-pnt ausw_item)))) ;Besitzer ermitteln Jetzt fehlt mir aber noch die Textgröße, der gewählten Bemaßung, aber dazu finde ich leider nichts. Hat da jemand nee Idee? Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build10.0.19045.4780 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 18. Jan. 2018 09:31 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Zitat: Original erstellt von MiBr: Jetzt fehlt mir aber noch die Textgröße, der gewählten Bemaßung Hat da jemand nee Idee?
ja
Der Dimension property dialog kann das doch. Also mal sehen wie der das macht:
Hilfe zur Selbsthilfe: lass den Annotator/ME10 mal den Macro code tracen. Dann fragst Du mit dem "original Annotation Bemassung Eigenschaften" Dialog eine Bemassung ab (so das du die Textgroesse im UI siehst) und beendest den Trace wieder. Nicht erschrecken, der aufgezeichnete Macro code ist bestimmt laenglich , aber wenn man es hybsch und gut haben will muss man eben mehr tun. In diesem aufgezeichnetem Code findet sich bestimmt ein nettes inquire was Dir weiter hilft. Du kannst den trace / trace off auf ueber die Commandline absetzen wenn der DIM-Dialog schon offen ist. Aber fuer die Erst-Analyse, mach's lieber komplett. Du kannst auch gut ein (sd-execute-anno-cmd "LET comment '========= jetzt den ersten punkt klicken'") ueber die command line zum Zeitpunkt X eingeben, um Dir im aufgezeichneten Macro Code etwas Orientierung zu verschaffen. Den eigentlich Abfrage Befehl rufst du dann ueber sd-execute-annotator-function :fnc .. auf. ------------------ ● Firefox ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
taino Mitglied CAD Konstrukteur
Beiträge: 93 Registriert: 11.06.2013 PTC Creo Elements/Direct Modeling 20
|
erstellt am: 18. Jan. 2018 12:37 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Hallo versuch mal...
Code: (in-package :custom) (use-package :oli)(sd-defdialog 'tp_dim_text_size :toolbox-button t :variables '( (Ausw_item :selection (*sd-anno-dimension-seltype*) :title "Maß auswählen" :prompt-text "Maß auswählen" :toggle-type :invisible :next-variable 'Ausw_item :after-input (progn (setq tp_address (DOCU-FNC (format nil "~a ~a ~a ~a ~a ~a ~a" "INQ_ELEM" (sd-get-annotator-position :object Ausw_item) "let pid (STR (INQ 2))" "let pid_s (DOCU_CSTRING_TO_LSTRING pid)" "(DOCU_OPEN_CONNECTION_TO_SD)" "(DOCU_ADD_LINE_TO_SD pid_s)" "(DOCU_CLOSE_CONNECTION_TO_SD)" ) ) ) (setq tp_liste (DOCU-FNC (format nil "Docu_inq_dim_text_size_attributes_old '~a'" tp_address))) (setq tp_dim_size (getf tp_liste :ABS-MAIN-DIM-SIZE)) (display tp_dim_size) );;ende progn ) ) :ok-action '() )
Gruß taino [Diese Nachricht wurde von taino am 18. Jan. 2018 editiert.] [Diese Nachricht wurde von taino am 18. Jan. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 575 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 18. Jan. 2018 14:04 <-- editieren / zitieren --> Unities abgeben:
Hallo und Danke für die schnellen Antwort! @taino Leider bekomme ich folgende Fehlermeldung: LISP-Fehler: The function CUSTOM: OCU-FNC is undefined. @Wolfgang Wenn ich mittels Commandline (trace am_dim_props) trace, bekomme ich beim Aufruf der Bemaßungseigenschaften in der Konsole nur: 1> (AM_DIM_PROPS FRAME2::PSTREAM #<synonym stream to *TERMINAL-IO*> ) <1 (AM_DIM_PROPS) Mache da was falsch? Gruß Michael
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
taino Mitglied CAD Konstrukteur
Beiträge: 93 Registriert: 11.06.2013 PTC Creo Elements/Direct Modeling 20
|
erstellt am: 18. Jan. 2018 14:25 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
|
MiBr Mitglied Konstrukteur
Beiträge: 575 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 18. Jan. 2018 14:46 <-- editieren / zitieren --> Unities abgeben:
|
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build10.0.19045.4780 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 18. Jan. 2018 15:57 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
IKIT Nutzen! Wann immer moeglich! Code: (sd-execute-annotator-function :fnc "Function")
und Code: :after-input (let ((tp_address (sd-get-annotator-reference :Object Ausw_item)) tp_liste tp_dim_size) (setq tp_liste (sd-execute-annotator-function :fnc (format nil "Docu_inq_dim_text_size_attributes_old '~a'" tp_address))) (setq tp_dim_size (getf tp_liste :ABS-MAIN-DIM-SIZE)) (display tp_dim_size) )
eleganter waere Code: :after-input (let* ((tp_address (sd-get-annotator-reference :Object Ausw_item)) (tp_liste (sd-execute-annotator-function :fnc (format nil "Docu_inq_dim_text_size_attributes_old '~a'" tp_address))) (tp_dim_size (getf tp_liste :ABS-MAIN-DIM-SIZE)) ) (display tp_dim_size) )
[edit] Unterschiede hervorgehoben[/edit] ------------------ ● Firefox ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ● [Diese Nachricht wurde von der_Wolfgang am 18. Jan. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build10.0.19045.4780 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 18. Jan. 2018 16:14 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Zitat: Original erstellt von MiBr: Wenn ich mittels Commandline (trace am_dim_props) trace, bekomme ich beim Aufruf der Bemaßungseigenschaften in der Konsole nur:1> (AM_DIM_PROPS FRAME2::PSTREAM #<synonym stream to *TERMINAL-IO*> ) <1 (AM_DIM_PROPS) Mache da was falsch?
Eigentlich nix. Aber, der Trace kann dir nur DAS zeigen was er 'sieht', beim Betreten der LISP-Funktion. Aber du hast am_dim_props interactive benutzt. Sprich alle Eingaben kamen so "aus der Luft" und waren nicht beim Aufruf der Funktion vorhanden. 'FRAME2::PSTREAM' ist hier ein Stream (= ein Datenfluss) aus dem IO-terminal (dem Ein-/Aus-gabe Terminal) - in diesem Fall dem UI / UserInterface / Benutzeroberflaeche. Aktiviere den selben trace noch mal und schubs dann in die Commandline (fuer die richtige Syntax .. ggf einmal recordern) (AM_DIM_PROPS 23.42) Also ein voll qualizifierter Aufruf des Dialogs, hier mit einer Koordinate (wo sich eine Dimension in Deiner Zeichnung befinden sollte). Dann sieht der Trace output wieder 'nett' aus.
Allerdings haben die meisten Dialoge keinen Return Value. Deswegen ist es in diesem Fall nicht so sehr effektive den Dialog zu tracen. Wenn Du allerdings in deinem eigenen Dialog mit sd-call-cmds andere ActionRoutinen/Dialoge aufrufst, ist es durchaus sinnvoll selbige mal zu tracen. Denn dann sieht man ggf. in welchen Dialog der OSD haengt / nen Fehler ausspuckt. etc.. Ueber die Verschachtelungstiefe des Trace Outputs siehst du ja zusaetzlich sehr schoen wer wen aufruft... und das ist auch hilfreich bei der immer noetigen Fehlersuche.
------------------ ● Firefox ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 575 Registriert: 30.06.2015 HP Z440 Workstation 64GB Modeling 20.1.2.0 (x64) Drafting 20.1.2.0 (64x) klas. UI Modell Manager 20.1.2.0 Ansys Workbeanch 22R2 Mechanicail Pro + FKM Inside
|
erstellt am: 19. Jan. 2018 07:44 <-- editieren / zitieren --> Unities abgeben:
Hallo Wolfgang, danke für die zwei Version funktionieren beide sehr gut. Habe mich für die nicht so elegante Lösung entschieden, da ich diese eher meinen derzeitigen Lisp-Kennnissen entspricht! Und auch noch mal Dank für die Ausführungen zur Selbsthilfe! Ist in meiner Learnig by doing Lisp - Mappe fest verankert. Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2219 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build10.0.19045.4780 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.0.1
|
erstellt am: 19. Jan. 2018 09:34 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
|