Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Modeling
  Edit Attributes in Structure list

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO
Autor Thema:  Edit Attributes in Structure list (1078 / mal gelesen)
Andylau
Mitglied



Sehen Sie sich das Profil von Andylau an!   Senden Sie eine Private Message an Andylau  Schreiben Sie einen Gästebucheintrag für Andylau

Beiträge: 55
Registriert: 07.06.2021

erstellt am: 18. Jun. 2021 17:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


show_attr_structure_list.lsp.txt


1.png

 
Hi Everybody,

I'm a beginer of lisp.
I modified a lisp to show self defined attributes(which can be input from toolbox "BOM Attr") in structure list.
And I wanted to eidt some attributes in structure list.
For example, edit material at material column.
The material could be input by something new or be choosen from drop-down menu.

I knew I should add a function at ":edit-fnc"
But I didn't know how to transfer the value to object.

(oli::sd-create-column-definition
  :Material
  :title "Material"
  :alignment :right
  :display-fnc 'browser-display-Material

  :edit-fnc 'edit-attr-Material ;; Write a func (edit-attr-Material) 
)
  Thanks a lot!
 
  Andy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

Beiträge: 2017
Registriert: 3.20.

● PE6+8@home
● W10 Pro Build19044.2364
● Drafting V20.1+4
● Modeling V20.1+4

erstellt am: 18. Jun. 2021 23:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Andylau 10 Unities + Antwort hilfreich

you have found the example, too?

https://support.ptc.com/help/creo_elements_direct/r20.4.0.0/advanced_documentation/integration_kit/examples/gbrowser_test_lsp.html

Zitat:
Original erstellt von Andylau:
:edit-fnc 'edit-attr-Material ;; Write a func (edit-attr-Material)  

it is just a function . there is no UI!!

look here too:  https://support.ptc.com/help/creo_elements_direct/r20.4.0.0/advanced_documentation/integration_kit/reference/lisp_column_functions.html#edit

Code:
(defun edit-attr-Material (node value)
  (let ((sel-item (sd-pathname-to-obj
                  (BrowserNode-objPath node))))
  (sd-attach-item-attribute sel-item "MY_SPECIAL_BOM_ATTR"
                              :attachment :contents
                              :On-copy    :copy
                              :On-merge  :maintain
                              :On-split  :copy
                              :On-xform  :maintain
                              :filing    '(:sd-file)
                              :values
                                          `(
                                            :material    ,value))
  ))
should work almost, not tested, just written

The api is NODE VALUE  .  out of the node you get the object (== selitem), and then you put the new value to the object.

Keep in mind: that kind of inline edit might be possible for each and every kind of object. So you might have to add a (when (sd-inq-part-p sel-item) ...  )

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Andylau
Mitglied



Sehen Sie sich das Profil von Andylau an!   Senden Sie eine Private Message an Andylau  Schreiben Sie einen Gästebucheintrag für Andylau

Beiträge: 55
Registriert: 07.06.2021

erstellt am: 19. Jun. 2021 03:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Dear Wolfgang,
Thanks for you help!
Now it works.
I also found that example, but don't quite understand.
After you codes, I know the that better.
I should use the “value”directly.

BR.
Andy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


Sehen Sie sich das Profil von der_Wolfgang an!   Senden Sie eine Private Message an der_Wolfgang  Schreiben Sie einen Gästebucheintrag für der_Wolfgang

Beiträge: 2017
Registriert: 3.20.

● PE6+8@home
● W10 Pro Build19044.2364
● Drafting V20.1+4
● Modeling V20.1+4

erstellt am: 19. Jun. 2021 14:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Andylau 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Andylau:
Thanks for you help! Now it works.

Glad to hear it's working and I was able to help

for that INLINE Editing in the browser table column you can not provide any kind of (selfmade, additional) user interface, e.g. like a drop down list.

What you can to is to check wether the entered value is valid or not and reject it. When you reject the value (e.g. cross checking against a list of valid entries) the edit function should return NIL .. if it's fine T.

Except the object instance name inline editing isn't very common.
_____________________________________

BTW for english speaking people there is the international CoCreate Forum : https://cocreateusers.org/forum/ , but we are aware that the traffic over there is much less compared to cad.de.

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Andylau
Mitglied



Sehen Sie sich das Profil von Andylau an!   Senden Sie eine Private Message an Andylau  Schreiben Sie einen Gästebucheintrag für Andylau

Beiträge: 55
Registriert: 07.06.2021

erstellt am: 21. Jun. 2021 03:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Thanks for your further information.
osd.cad.de is the most active((No "one of")) forum for osd.
For a Chinese like me, I Usually use Chrome to translate Germany to English. Then I can browse most of the post.

BR

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz