| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
| SF DRAWING , eine App
|
Autor
|
Thema: Neue AE auf aktive Schnittebene (977 / 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: 23. Mrz. 2023 14:42 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich würde gern den Befehl 'Neue AE auf Schnittebene' so erweitern, dass dieser bei aktiver Schnittebene diese direkt anwählt. Frage mich seit ewig warum ich dazu nochmal die aktive Schnittebene im Bildschirm klicken muss! Der Befehl aus dem Recorder lautet: 'create_workplane :new n_clipping_plane :clipping_plane Und mit '(clipping-active-feats (sd-inq-current-vp)) hätte ich ja die aktive Schnittebene. Heißt ja eigentlich: (create_workplane :new n_clipping_plane :clipping_plane (clipping-active-feats (sd-inq-current-vp))) Aber da kommt dann nur die Fehlermeldung "Die Eingabe enthält Element der falschen Art" Mittels (sd-inq-vp-model-clipping-enabled-p (sd-inq-current-vp)) könnte ich dann noch abfragen ob eine aktiv ist! Sehe ich mal wieder den Wald vor lauter Bäume nicht? 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: 23. Mrz. 2023 20:33 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Zitat: Original erstellt von MiBr: ich würde gern den Befehl..so erweitern, dass
alles funktioniert wie ich will 😅 (trace clipping-active-feats)
wie sieht der return value aus. Das ist doch bestimmt ne liste die da zurückkommt. create_workplane :new :On_clipping_plane :clipping_plane fehlte da ein Blank? was sagt denn die command reference welchen Datentype für :clipping_plane erwartet wird... passt das zum return value von clipping-active-feats. und wenn du mal beim recorder nicht im Viewport rumfuchtelst und klickst, sondern alle Eingaben via command line / struktur browser tätigst? ::::::::: Versuch zur Hilfe zur Selbst-Hilfs ::::::::: ------------------ ● 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: 24. Mrz. 2023 07:57 <-- editieren / zitieren --> Unities abgeben:
Hallo; Zitat: alles funktioniert wie ich will
GENAU! Ich halte das sogar für eine große Stärke von Modelling. Zitat: wie sieht der return value aus. Das ist doch bestimmt ne liste die da zurückkommt.
Code: 1> (CLIPPING-ACTIVE-FEATS "1") <1 (CLIPPING-ACTIVE-FEATS #S(SEL_ITEM ELAN::PATH (#S(ELAN::NPARCEL DSM::SIMPLE-ENTITY-PTR 125384272)) TYPE 125990512 ELAN::ITEM #S(ELAN::CLIPPING DSM::SIMPLE-ENTITY-PTR 463271904)))
Ist für mich keine Liste, oder? Zitat: fehlte da ein Blank?
Recordfile: Code: preselect set_pers_context "Toolbar-relative" create_workplane :new :on_clipping_plane :clipping_plane (gpntwc -47.661558 -0.918908 5.655090 "1") set_pers_context "Toolbox-Context" rec-stop
Ich würde sagen nein. Zitat: was sagt denn die command reference welchen Datentype für :clipping_plane erwartet wird...
Finde da nichts im I-Kit. Code: und wenn du mal beim recorder nicht im Viewport rumfuchtelst und klickst, sondern alle Eingaben via command line / struktur browser tätigst?
Da passiert nichts! Bei dem Befehl kann ich nur im Viewport die Schnittebene wählen. Gibt es den evtl einen Weg den Wert von 'gpntwc zu bekommen in etwa so: create_workplane :new :on_clipping_plane :clipping_plane (get_gpntwc (clipping-active-feats (sd-inq-current-vp))) ;-) 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: 24. Mrz. 2023 16:41 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Kopf Klatsch Code: '(clipping-active-feats (sd-inq-current-vp))
Ich habe da immer Code: '(clipping-active-feats (sd-inq-current-wp))
, also current WORKPLANE gelesen und habe in meiner PE8 gestern abend verzweifelt versucht eine WP als Owner einer Clipping plane zu konstruieren . - My fault! ------------------------------------------- Zitat: fehlte da ein Blank?
das kam durch ein ungewolltes Smilies deinerseits, wie ich später dann noch raus gefunden habe. Bei Keywords ":_ON" nutze ich beim schreiben immer das GROSSE "O" damit die Foren software aus ": o" nicht das smilie erzeugt. ---- okay auch geklärt ------------------------------------------- Code: (listp (CLIPPING-ACTIVE-FEATS "vport1")) ==>> nil
ist also keine Liste. ------------------------------------------- ⚠ Command Reference <> IKIT! Die commmand Reference ist eine (von cocreate experten) erzeugte / generierte HTML Seite, die die Syntax von Action Routinen und Dialogen aufschlüsselt. https://support.ptc.com/help/creo/ced_modeling/r20.2.0.0/fr/ced_modeling/baggage/documentation/integration_kit/comref/comref_idx.html (für neuere Versionen finde ich den Link nimmer, bzw gibt ne 404 auf der PTC Domain) wie man an der URL sieht : Teil der IKIT documentation. sucht man dort nach CREATE_WORKPLANE findet man "POSITION_WP_SA" . lies: Postion Arbeitsebene SubAction https://support.ptc.com/help/creo/ced_modeling/r20.2.0.0/fr/ced_modeling/baggage/documentation/integration_kit/comref/com-sd-sub19.html#R-POSITION-WP-SA in dieser findest sich jetzt nix mit Clipping plane. ------------------------------------------- (describe 'POSITION_WP_SA) hat mich auch nicht weiter gebracht ------------------------------------------- Anderer Ansatz: mit (CLIPPING-ACTIVE-FEATS "1") bekommst du die aktive clipping plane in die Hand. Das ist ein selitem. Kann man davon die position und richtung inquireen.?? soweit mal update von meiner Seite Freitag, Latein, Ende, WochenEnde (let's see) ------------------ ● 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: 25. Mrz. 2023 15:59 <-- editieren / zitieren --> Unities abgeben:
Zitat: Kann man davon die position und richtung inquireen.??
Damit vielleicht: (sd-inq-model-clip-plane-origin [id]) Aber was für ne ID? (sd-inq-obj-sysid (elan::clipping-active-feats (sd-inq-current-vp))) Funzt auf jeden Fall nicht! Schönes RestWE! Michael 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. Apr. 2023 15:45 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich bin jetzt einen Schritt weiter gekommen! Mit 'clipping-inq-planes' bekommen ich die Koordinaten der aktiven Schnittebene. Und damit kann ich dann eine AE Par zur Schnittebene erstellen und dreh die vorher um. Als nächstes suche ich mittels 'sd-inq-vp-drawlist-objects' alle teile in der Darstellungs- liste raus. Und jetzt komme ich nicht weiter. Mittels 'cross_section' möchte ich den Querschnitt auf die AE bringen. Bekomme es aber nicht hin dies mit der Lister der Teile zu füttern also mit der Dolist. 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. Apr. 2023 18:38 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Code: :cross_section_part :start :clear (dolist (item aktive_teile) (when (sd-inq-part-p item) (sd-inq-obj-pathname item) (pprint (sd-inq-obj-pathname item)) ) ) :select_done
wenn Du mal :start :clear ... :select_done recorderst sieht man das da die items als Pathname auftauchen .. weil man das so halt AUFNIMMT. Brauchst du aber gar nicht. Code: :cross_section_part one-part ;; also single selection:cross_section_part (list-of-parts) ;; oder eben multiple selection
Also bei Dir ggf.
Code: :cross_section_part aktive_teile
bissle paranoiya ist Code: :cross_section_part (delete-if-not 'sd-inq-part-p aktive_teile)
, weil aktive_TEILE sollte doch bitte schön auch nur TEILE enthalten. Wenn Du schon einne Liste (von sel-items) hast, brauchst du bei einer Dialog Variable, die multiple selection unterstützt nicht mit dem selector rum zu hantieren. Jener ist gut für den interactiven Betrieb. Und denk' ggf. daran wire,face und empty parts frühzeitig auszusortieren. ------------------ ● 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. Apr. 2023 07:26 <-- editieren / zitieren --> Unities abgeben:
Erstmal mal wieder Danke für deine top Erklärung! Zitat: Also bei Dir ggf. Code:Code: :cross_section_part aktive_teile
bissle paranoiya ist Code:Code: :cross_section_part (delete-if-not 'sd-inq-part-p aktive_teile)
Das hatte ich so wie oben probiert und es kommt immer die Fehlermeldung "Die Eingabe enthält Element der falschen Art." Und dann Grübel Grübel bin ich wohl zu den Quatsch mit den Pfaden gekommen und dabei habe ich das eigentliche Problem nicht gesehen. Mit 'del-if-not' funzt es auf einmal! Grübel Grübel komisch Ähhh die Baugruppen werden nicht geschnitten. Das sind dann wohl die falschen Elemente. Von daher funzt der Ansatz mit 'sd-inq-vp-drawlist-objects' wohl nicht, da er mir aus der Darstellungsliste nicht die Teile aus gewählten Baugruppen gibt. Beispiel: x BG x Teil1 x Teil2 Aufruf-> sd-inq-vp-drawlist-objects Return-> BG-item Wunsch wäre: x BG x Teil1 x Teil2 Ausruf-> sd-inq-vp-drawlist-objects Return-> BG-item Teil1-item Teil2-item Aber wüschen kann man sich ja viel und mal schauen wie ich das löse. Evtl. alle Teile wählen und mit 'sd-inq-vp-drawlist-member-p' draufschiessen. Mal schauen und Danke Michael 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. Apr. 2023 14:32 <-- editieren / zitieren --> Unities abgeben:
Habs es hinbekommen! Mitels get_selection sammel ich alle Teil:
Code: (setf alle_objekte (sd-call-cmds (get_selection :focus_type *sd-part-seltype* :allow_wire_part :allow_face_part :with_stock_container :no_highlight :select :recursive :all_at_top)))
Und anschließend wärte ich die Teile nach der Darstellungsliste wie folgt aus: Code: :cross_section_part (delete-if-not 'my_drawlist-member-p alle_objekte)
Code: (defun my_drawlist-member-p (item) (sd-inq-vp-drawlist-member-p (sd-inq-current-vp) item) )
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: 21. Apr. 2023 16:37 <-- editieren / zitieren --> Unities abgeben: Nur für MiBr
Zitat: Original erstellt von MiBr: Habs es hinbekommen!
erstmal GLÜCKwunsch! 👍 x BG x Teil1 x Teil2 SD-INQ-VP-DRAWLIST-OBJECTS -->> sel-item of BG Naja. SD-INQ-VP-DRAWLIST-OBJECTS hat da schon nicht Unrecht. Weil: wenn du das Käschtle vor der BG an/aushakest wird ja die Baugruppe dar gestellt oder eben nicht. In dem Fall geht es ja darum die Darstellungsliste ggf. später wieder herzustellen und nicht darum eine Selektion zu triggern. Alternative hättest Du für jede BG die von SD-INQ-VP-DRAWLIST-OBJECTS zurück kommt, alle Kinder erfragen müssen und diese in deine Teile Liste hinzufügen. bei
□ BG x Teil1 □ Teil2 SD-INQ-VP-DRAWLIST-OBJECTS erwartest Du doch auch nur Teil1 .. und nicht noch ½ sel-item BG 😉 Wenn Du mit großen Baugruppen hantierst kann ich dir Get_Selection auf Dauer nicht empfehlen. Das fängt dann an zu schnarchen. (+100k instance-objects, ~10k contents-objects) Ich wünsche ein 🌞 Wochenende..
------------------ ● 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: 22. Apr. 2023 17:20 <-- editieren / zitieren --> Unities abgeben:
Mit der Darstllungsliste also SD-INQ-VP-DRAWLIST-OBJECTS hast du natürlich recht, aber wenn man anfängt denkt man halt nicht immer an alles! Zitat: Wenn Du mit großen Baugruppen hantierst kann ich dir Get_Selection auf Dauer nicht empfehlen. Das fängt dann an zu schnarchen. (+100k instance-objects, ~10k contents-objects)
Bei unseren größten Baugruppen hat die Preformance noch gepasst. Was gibt es den für eine Alternative zu GET_SELECTION? Evtl. so wie in folgendem Beitrag mittels: Code: (defun inq-obj-tree-list (obj) (cons obj (apply #'nconc (mapcar #'inq-obj-tree-list (sd-inq-obj-children obj)))))
https://ww3.cad.de/foren/ubb/Forum92/HTML/000820.shtml#000000Gruß Michael [Diese Nachricht wurde von MiBr am 24. Apr. 2023 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: 27. Apr. 2023 20:34 <-- 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: 23. Mai. 2023 09:28 <-- editieren / zitieren --> Unities abgeben:
|