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 Creo
Autor Thema:  Edit Attributes in Structure list (1051 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