Hot News:

Mit Unterstützung durch:

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

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

Anzeige:

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

Dieser Beitrag ist erfolgreich in das Forum CoCreate Programmierung verschoben worden.

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:  Hilfe beim Macro !!!!!! (1697 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

highway45
Moderator
Bastler mit Diplom




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

Beiträge: 6331
Registriert: 14.12.2004

SolidDesigner-20.5.1 + PhoenixPDM-11 + Solidworks-2022 + PE8

erstellt am: 15. Jun. 2010 09:02    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 lukjan 10 Unities + Antwort hilfreich

Ich verschiebe das mal ins Forum "CoCreate Programnmierung":
http://ww3.cad.de/foren/ubb/Forum92/HTML/000596.shtml

Beim Kopieren von Makros ins Forum ist es besser, diese in den Code-Tag zu setzen und die Smilies auszuschalten.
Bei so langen Texten ist es noch besser, diese als Anhang hochzuladen.

------------------
   

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


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

Administrative Optionen: Beitrag öffnen | Archivieren/Bewegen | Beitrag melden!

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

(c)2023 CAD.de | Impressum | Datenschutz