| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
Autor
|
Thema: Annotation Bemaßung falscher Wert beim Erstellen (1186 / mal gelesen)
|
taino Mitglied CAD Konstrukteur
Beiträge: 93 Registriert: 11.06.2013 PTC Creo Elements/Direct Modeling 20
|
erstellt am: 12. Jan. 2018 11:02 <-- editieren / zitieren --> Unities abgeben:
Hallo ich bin gerade dabei mir ein kleines Tool zu schreiben das mir bei unseren Bemaßungen ein bißchen hilft. Alles soweit auch ganz einfach. Bis auf die Vorschau "Feedback" der Bemaßung. Wenn ich Punkt1 und Punkt2 angeklickt habe dann lasse ich mittels (sd-execute-annotator-command :cmd (format nil "DA_DIM_LINE ~A,~A ~A,~A" (oli::gpntdocu_x tp_p1) (oli::gpntdocu_y tp_p1) (oli::gpntdocu_x tp_p2) (oli::gpntdocu_y tp_p2) )) das Feedback erscheinen. Aber wie bekomme ich es hin das dort schon der richtige Wert im richtigen Maßstab steht? Danke schonmal Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build19044.2364 ● Drafting V17~V20.5.1 ● Modeling V17~V20.5.1
|
erstellt am: 12. Jan. 2018 16:50 <-- editieren / zitieren --> Unities abgeben: Nur für taino
Zitat: Original erstellt von taino: Bis auf die Vorschau "Feedback" der Bemaßung. .....aber wie bekomme ich es hin das dort schon der richtige Wert im richtigen Maßstab steht?
Hilfe zur Selbsthilfe: lass den Annotator/ME10 mal den Macro code tracen. Dann erzeugst du eine "original Annotation Bemassung" 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 keyword, kleines Kommando, 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. -----------------------
Code: ...(format nil "DA_DIM_LINE ~A ~A" p1 p2)
sollte auch reichen oder versagen meine grauen Zellen gerade? ======================= aehmm und Frohes Neues Jahr noch allerseits ! Vor Jahrzehnten gabe es in den CoCreate Foren immer einen speziellen Weihnachts- und NeuJahr- Thread. Die Zeiten sind vorbei. ------------------ ● 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: 14. Jan. 2018 05:20 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen ich bekomme es nicht hin. Egal was ich mache der Wert verändert sich nicht. (in-package :custom) (use-package :oli) (sd-defdialog 'tp_am_dim_einrunden_dia :dialog-title "Einrunden Bemaßung" :toolbox-button t
:variables '( (tp_p1 :value-type :docupntcnp :initial-visible t :prompt-text (sd-multi-lang-string "Specify point to start." :german "Punkt angeben") :title (sd-multi-lang-string "Start Point" :german "1.Punkt") :after-input (progn (setq tp_view (first(sd-call-cmds (get_selection :focus_type *sd-anno-view-seltype* :select tp_p1)))) (if tp_view nil (progn (setq tp_view (first(sd-call-cmds (get_selection :focus_type *sd-anno-flat-seltype* :select tp_p1)))) ));;ende if ; (tp_search_radius) );;ende progn ) (tp_p2 :value-type :docupntcnp :initial-visible t :prompt-text (sd-multi-lang-string "Specify point to end." :german "Punkt angeben") :title (sd-multi-lang-string "End Point" :german "2.Punkt") :after-input (progn (setq tp_unique (sd-am-inq-unique-name tp_view)) ; (display(docu-fnc(format nil "Docu_get_scale_stopped_domain_of_upn '~A'" tp_unique))) (sd-execute-annotator-command :cmd (format nil "DA_DIM_LINE ~A,~A ~A,~A" (oli::gpntdocu_x tp_p1) (oli::gpntdocu_y tp_p1) (oli::gpntdocu_x tp_p2) (oli::gpntdocu_y tp_p2) )) ) ) (tp_p3 :value-type :docupntcnp :initial-visible t :prompt-text (sd-multi-lang-string "Specify point to position." :german "Punkt angeben") :title (sd-multi-lang-string "Last Point" :german "3.Punkt") :after-input (progn (sd-execute-annotator-command :cmd (format nil "DA_DIM_LINE ~A,~A ~A,~A ~A,~A" (oli::gpntdocu_x tp_p1) (oli::gpntdocu_y tp_p1) (oli::gpntdocu_x tp_p2) (oli::gpntdocu_y tp_p2) (oli::gpntdocu_x tp_p3) (oli::gpntdocu_y tp_p3) )) ) ) ) :ok-action '(sd-execute-annotator-command :cmd "END") :cancel-action '(sd-execute-annotator-command :cmd "END") );;ende dialog Hier mal mein Code. Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MiBr Mitglied Konstrukteur
Beiträge: 508 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 19R3 Mechanical Pro
|
erstellt am: 15. Jan. 2018 09:31 <-- editieren / zitieren --> Unities abgeben: Nur für taino
Hallo, das mit dem falschen Wert scheint mir daran zu liegen, dass die Maß nicht dem richtigen Besitzer zugeordnet werden. Diese sind bei meinen Versuchen mit dem Tool an "Blatt aktiv" gebunden. Mehr kann ich dir leider aber auch nicht sagen, aber vieleicht Hilft der Hinweiß, wenn Du das nicht schon selbst bemerkt hattest! 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: 15. Jan. 2018 10:25 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen danke an euch ich habs. So muß das aussehen. (setq tp_unique (sd-am-inq-unique-name tp_view)) (sd-execute-annotator-command :cmd (format nil "EDIT_PART ~A DA_DIM_LINE ~A,~A ~A,~A" tp_unique (oli::gpntdocu_x tp_p1) (oli::gpntdocu_y tp_p1) (oli::gpntdocu_x tp_p2) (oli::gpntdocu_y tp_p2) )) :-)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build19044.2364 ● Drafting V17~V20.5.1 ● Modeling V17~V20.5.1
|
erstellt am: 15. Jan. 2018 12:50 <-- editieren / zitieren --> Unities abgeben: Nur für taino
Moin, Du bist ja fit, ich schicke mal Bruchstuecke zur ERgaenzung deines Dialogs:
Code: (tp_p1 :after-input (let ( tp_unique ) (setq tp_unique (sd-am-inq-unique-name tp_view)) (sd-execute-annotator-command :cmd (format nil "EDIT_PART '~A' DA_DIM_LINE ~A,~A" tp_unique (oli::gpntdocu_x tp_p1) (oli::gpntdocu_y tp_p1) )) ) :next-variable 'tp_p2 ) (tp_p2 .... :after-input (sd-execute-annotator-command :cmd (format nil "~A,~A" ;; du brauchst nicht das ganze command noch mal zu schicken (oli::gpntdocu_x tp_p2) (oli::gpntdocu_y tp_p2) )) ... :next-variable 'tp_p3 ) (tp_p3 (sd-execute-annotator-command :cmd (format nil "~A,~A end EDIT_PART '~A'" (oli::gpntdocu_x tp_p2) (oli::gpntdocu_y tp_p2) current-sheet-pid )) :next-variable 'tp_p1 ;; und wichtig: :cleanup-action '(sd-execute-annotator-command :cmd (format nil "END EDIT_PART '~A' current-sheet-pid")
die richtige Cleanup action ist hier SEHR wichtig damit zum schluss der Annotator wieder das richtig part active hat Sonst rumpelt es schnell bei der naechsten aktion. Also den Anwender mit "next-variable" schoen fuehren. Immer nur die Teile des ME10 Commandos senden die benoetiget werden. Und immer brav das "edit_part" auch wieder 'zuruecksetzen' = current sheet.
Ach so, tp_p1/2/3 sind natuerlich dann unsichtbare variablen. OPTIONAL: Man kann zum richtigen Zeitpunkt auch p1/2/3 auf NIL setzen und damit die :next-variable Steuerung sicherer machen. (unless p1 'p1) usw. Das ist dann "user guidance" wie das die Original Annotator Dialoge machen. ------------------ ● 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: 16. Jan. 2018 07:35 <-- editieren / zitieren --> Unities abgeben:
|
taino Mitglied CAD Konstrukteur
Beiträge: 93 Registriert: 11.06.2013 PTC Creo Elements/Direct Modeling 20
|
erstellt am: 16. Jan. 2018 09:15 <-- editieren / zitieren --> Unities abgeben:
Ich stehe gerade wieder mal auf'n Schlauch. Zitat: Ach so, tp_p1/2/3 sind natuerlich dann unsichtbare variablen.
Wie mach ich das? Das die trotzdem angesprochen werden. hm....... Hat sich erledigt :initial-variable 'tp_p1 Und die Variablen mit :toggle-type :invisible ausblenden. Manchmal sieht man den Wald vor lauter Bäumen nicht. :-) [Diese Nachricht wurde von taino am 16. Jan. 2018 editiert.] 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: 17. Jan. 2018 07:02 <-- editieren / zitieren --> Unities abgeben:
Wie bekomme ich jetzt das Durchmessersymbol als Prefix rein. Mein versuch... (sd-execute-annotator-command :cmd "DIM_PREFIX '<Diameter>' END") da setzt er mir auch nur <Diameter> ein und kein Durchnmesserzeichen. Mit "Alt+0248" setzt er mir das ein. Aber das ist nicht so schön das Zeichen. Kann da jemand helfen? Danke Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build19044.2364 ● Drafting V17~V20.5.1 ● Modeling V17~V20.5.1
|
erstellt am: 17. Jan. 2018 12:47 <-- editieren / zitieren --> Unities abgeben: Nur für taino
|
taino Mitglied CAD Konstrukteur
Beiträge: 93 Registriert: 11.06.2013 PTC Creo Elements/Direct Modeling 20
|
erstellt am: 17. Jan. 2018 12:55 <-- editieren / zitieren --> Unities abgeben:
Hatte ich schon gemacht. Ergebnis: "CLEAR_PREFIX CLEAR_POSTFIX CURRENT_DIM_UNITS SEC_DIM NONE DIM_FRAME OFF DIM_PREFIX BASIC_DIM '' DIM_POSTFIX BASIC_DIM '' DIM_FRAME OFF DIM_PREFIX '' END CLEAR_POSTFIX CLEAR_SUBFIX CLEAR_SUPERFIX" Das spuckt er aus wenn ich nur <Diameter> einstelle beim Bemaßen. Das ist ja das komische das, das nirgends auftaucht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build19044.2364 ● Drafting V17~V20.5.1 ● Modeling V17~V20.5.1
|
erstellt am: 17. Jan. 2018 13:11 <-- editieren / zitieren --> Unities abgeben: Nur für taino
Noch mehr Schnitzel.. "Mahlzeit!" ... aehm Schnipsel: Code: :variables '( (tp_p1 :value-type :DOCUpntcnp :after-input (progn (setq tp_view (first(sd-call-cmds (get_selection :focus_type *sd-anno-view-seltype* :select tp_p1)))) (if tp_view nil ;; <<=== das hier ist syntaktisch irknwie falsch... (progn (setq tp_view (first(sd-call-cmds (get_selection :focus_type *sd-anno-flat-seltype* :select tp_p1)))) ));;ende if
a) (unless tp_view (setq tp_view ... flatview)) ein (if (not tp_view) .. ist ein (unless...) b) Code: :after-input (setq tp_view (or (first(sd-call-cmds (get_selection :focus_type *sd-anno-view-seltype* :select tp_p1))) (first(sd-call-cmds (get_selection :focus_type *sd-anno-flat-seltype* :select tp_p1)))))
c) Code: :after-input (setq tp_view (first(sd-call-cmds (get_selection :focus_type (list *sd-anno-view-seltype* *sd-anno-flat-seltype*) :select tp_p1)))))
zu b) wenn du eine 'normale' view geklickt hast wird der 2. get_selection schon nicht mehr aufgerufen.
ansonsten: bei Fragen fragen! Und ich meine damit nicht nur Taino ------------------ ● 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 |
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE60+80@home ● W10 Pro Build19044.2364 ● Drafting V17~V20.5.1 ● Modeling V17~V20.5.1
|
erstellt am: 17. Jan. 2018 13:17 <-- editieren / zitieren --> Unities abgeben: Nur für taino
|
taino Mitglied CAD Konstrukteur
Beiträge: 93 Registriert: 11.06.2013 PTC Creo Elements/Direct Modeling 20
|
erstellt am: 17. Jan. 2018 13:19 <-- editieren / zitieren --> Unities abgeben:
|