Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Programmierung
  Hilfe beim Macro !!!!!!

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:  Hilfe beim Macro !!!!!! (967 mal gelesen)
lukjan
Mitglied
Konstrukteur


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

Beiträge: 15
Registriert: 18.02.2010

erstellt am: 15. Jun. 2010 08:52    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

Hallo Leute,

wir haben für uns das Beispielmacro von OSD angepasst es funkt auch soweit.
Das einzige Problem ist wie bekomme ich es hin das nicht alle Felder Pflichtfelder sind also das ich zumbeispiel nur eine schnitt form auswähle und keine partno eintrage!?!?!
ich kopier das macro mal rein vileicht kann mir ja jemand Helfen.


;;-----------------------------------------------------------------------------
;; simple example how to implement BOM attributes using IK functions
;;-----------------------------------------------------------------------------
(in-package  :my-special-bom-attr)
(use-package '(  li ))
;;-----------------------------------------------------------------------------
;; functions to inquire attached BOM information of an SD part or assembly
;;-----------------------------------------------------------------------------
(defun bomattr-get-material (object)
  (let ((attr (sd-inq-item-attribute object "MY_SPECIAL_BOM_ATTR"
                                    :values :attachment :contents)))
    (if attr (getf attr :material) nil)
  )
)
(defun bomattr-get-Schnitt-I-Traeger (object)
  (let ((attr (sd-inq-item-attribute object "MY_SPECIAL_BOM_ATTR"
                                    :values :attachment :contents)))
    (if attr (getf attr :Schnitt-I-Traeger) nil)
  )
)
(defun bomattr-get-Schnitt-U-Traeger (object)
  (let ((attr (sd-inq-item-attribute object "MY_SPECIAL_BOM_ATTR"
                                    :values :attachment :contents)))
    (if attr (getf attr :Schnitt-U-Traeger) nil)
  )
)
(defun bomattr-get-partno (object)
  (let ((attr (sd-inq-item-attribute object "MY_SPECIAL_BOM_ATTR"
                                    :values :attachment :contents)))
    (if attr (getf attr  art-number) nil)
  )
)
;;-----------------------------------------------------------------------------
;; dialog to attach BOM information to an SD part or assembly
;;-----------------------------------------------------------------------------
(sd-defdialog 'my_special_bom_attr
  :dialog-title  "BOM Attr"
  :start-variable 'object
  :variables
  '(
    (OBJECT
      :value-type    art-assembly
      :modifies      :contents
      :title        "Part/Assy"
      rompt-text  "Select a part or assembly."
      :after-input
      (progn
        (setq material (bomattr-get-material object))
        (setq Schnitt-I-Traeger (bomattr-get-Schnitt-I-Traeger object))
        (setq Schnitt-U-Traeger (bomattr-get-Schnitt-U-Traeger object))
(setq partno  (bomattr-get-partno  object))
      )
    )
    (MATERIAL
      :range        ("S235JR" "S355MC" "Holz")
      :title        "Material"
      rompt-text  "Enter material info."
    )
    (Schnitt-I-Traeger
      :range        ("11" "12" "13" "21" "22" "23")
      :title        "Schnitt-I-Traeger"
      rompt-text  "Enter Schnitt-I-Traeger info."
  ) 
    (Schnitt-U-Traeger
      :range        ("51" "52" "53" "54" "55" "61" "62" "63" "64" "65")
      :title        "Schnitt-U-Traeger"
      rompt-text  "Enter Schnitt-U-Traeger info."
  )
    (PARTNO
      :value-type    :string
      :title        "Part No"
      rompt-text  "Enter part number info."
    )
  )
  k-action
  '(progn
    (sd-attach-item-attribute object "MY_SPECIAL_BOM_ATTR"
                              :attachment :contents
                                n-copy    :copy
                                n-merge  :maintain
                                n-split  :copy
                                n-xform  :maintain
                              :filing    '(:sd-file)
                              :values
                                          `(
                                            :material    ,material
                                            art-number ,partno
                                            :Schnitt-I-Traeger    ,Schnitt-I-Traeger
                                            :Schnitt-U-Traeger    ,Schnitt-U-Traeger
)
    )
  )
)
;;-----------------------------------------------------------------------------
;; convenience functions to inquire attached BOM information
;;-----------------------------------------------------------------------------
(defun bomattr-get-material (selitem)
  (let ((attr (sd-inq-item-attribute selitem "MY_SPECIAL_BOM_ATTR"
                                    :values :attachment :contents)))
    (if attr (getf attr :material) nil)
  )
)
(defun bomattr-get-Schnitt-I-Traeger (selitem)
  (let ((attr (sd-inq-item-attribute selitem "MY_SPECIAL_BOM_ATTR"
                                    :values :attachment :contents)))
    (if attr (getf attr :Schnitt-I-Traeger) nil)
  )
)
(defun bomattr-get-Schnitt-U-Traeger (selitem)
  (let ((attr (sd-inq-item-attribute selitem "MY_SPECIAL_BOM_ATTR"
                                    :values :attachment :contents)))
    (if attr (getf attr :Schnitt-U-Traeger) nil)
  )
)
(defun bomattr-get-partno (selitem)
  (let ((attr (sd-inq-item-attribute selitem "MY_SPECIAL_BOM_ATTR"
                                    :values :attachment :contents)))
    (if attr (getf attr  art-number) nil)
  )
)
;;-----------------------------------------------------------------------------
;; examples of how to customize some simple BOM attributes
;;-----------------------------------------------------------------------------
(defun my-bom-attr-part-name (selitem)
  (let ((contents-name (oli::sd-inq-obj-contents-name selitem)))
    (if contents-name contents-name (oli::sd-inq-obj-basename selitem))
  )
)
(defun my-bom-attr-part-no (selitem)
  (let ((part-no (bomattr-get-partno selitem)))
    (if part-no part-no "")
  )
)
(defun my-bom-attr-material (selitem)
  (let ((material (bomattr-get-material selitem)))
    (if material material "")
  )
)
(defun my-bom-attr-Schnitt-I-Traeger (selitem)
  (let ((Schnitt-I-Traeger (bomattr-get-Schnitt-I-Traeger selitem)))
    (if Schnitt-I-Traeger Schnitt-I-Traeger "")
  )
)
(defun my-bom-attr-Schnitt-U-Traeger (selitem)
  (let ((Schnitt-U-Traeger (bomattr-get-Schnitt-U-Traeger selitem)))
    (if Schnitt-U-Traeger Schnitt-U-Traeger "")
  )
)
(docu::docu-unregister-bom-attr-all)
(docu::docu-register-bom-attr :attr-type      "DOCU_BOM_QUANTITY"
                              :attr-title    "Quantity"
                              :attr-display  t
                              :attr-value-fnc nil)  ;; system bom attribute
(docu::docu-register-bom-attr :attr-type      "PART_NAME"
                              :attr-title    "Part Name"
                              :attr-display  t
                              :attr-value-fnc #'my-bom-attr-part-name)
(docu::docu-register-bom-attr :attr-type      "PART_NO"
                              :attr-title    "Part No"
                              :attr-display  t
                              :attr-value-fnc #'my-bom-attr-part-no)
(docu::docu-register-bom-attr :attr-type      "MATERIAL"
                              :attr-title    "Material"
                              :attr-display  t
                              :attr-value-fnc #'my-bom-attr-material)
(docu::docu-register-bom-attr :attr-type      "Schnitt-I-Traeger"
                              :attr-title    "Schnitt-I-Traeger"
                              :attr-display  t
                              :attr-value-fnc #'my-bom-attr-Schnitt-I-Traeger)
(docu::docu-register-bom-attr :attr-type      "Schnitt-U-Traeger"
                              :attr-title    "Schnitt-U-Traeger"
                              :attr-display  t
                              :attr-value-fnc #'my-bom-attr-Schnitt-U-Traeger)


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

lukjan
Mitglied
Konstrukteur


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

Beiträge: 15
Registriert: 18.02.2010

erstellt am: 15. Jun. 2010 08: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

Oh noch was.
Kann man da auch ein befehl einfügen wenn ich ein Teil Atriebute hinzugefügt habe das es dan samt seinen exemplaren ausgeblendet wird.
Aber das Fenster nicht zu geht sondern ich gleich das nächste teil wählen kann?

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