| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Profil laden und anwenden per LISP (1368 / mal gelesen)
|
SNOOP_69 Mitglied Konstrukteur - Innenausbau
  
 Beiträge: 555 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2022-2025 (Vollversion+LT) - BricsCad - DraftSight 2024 - SolidWorks 2019-2024 - SWOOD 2023 - MasterCAM 2020-2023
|
erstellt am: 23. Jun. 2016 14:28 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe mich schon durch diverse Beiträge gelesen...komme aber irgendwie nicht wirklich weiter mit meinem Problem. Ich möchte gerne über ein LISP ein Profil aus einem Netzwerk-Ordner laden und dieses dann auch anwenden bzw. als aktuell setzen. Als Grundgerüst habe ich mir dieses Lisp hier aus einem englischsprachigen Forum geladen:
Code:
(defun c:LoadProfile( / profCol profLst ProfileName) (vl-load-com) (setq ProfileName (getstring "\nEnter the name of the profile you wish to load: ")) (setq profCol ; get profiles collection (vla-get-Profiles (vla-get-Preferences (vlax-get-acad-object)))) (vla-GetAllProfileNames profCol 'profLst)(if (and (not (member ProfileName (vlax-safearray->list profLst))) ; if profile exists (findfile (setq Profileloc (strcat "c:\\" Profilename ".arg")))) (progn (vla-importprofile profcol Profilename Profileloc :vlax-false) (vla-GetAllProfileNames profCol 'profLst))) (if (member ProfileName (vlax-safearray->list proflst)) (progn (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-ActiveProfile (list profCol ProfileName))) ; profile loading and error catching (princ (strcat "\nError loading profile <" ProfileName ">.")); error message (princ (strcat "\nProfile <" ProfileName "> successfully loaded. ")); success message ); end if ); end progn (princ (strcat "\nProfile <" ProfileName "> not found. ")); not found message ); end if (princ) ); end of LoadProfile
Ich verstehe aber leider derzeit nicht, wo ich nun tatsächlich meinen Profilnamen und meinen Pfad eintragen muss... Kann mir da jemand helfen? Danke im Voraus! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
       

 Beiträge: 22365 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 23. Jun. 2016 14:34 <-- editieren / zitieren --> Unities abgeben:          Nur für SNOOP_69
Dort wird der Profilname angegeben: (setq ProfileName (getstring "\nEnter the name of the profile you wish to load: ")) Und für den Fall das es noch kein Profil mit diesem Namen gibt, soll er ein Profil aus einer ARG-Datei importieren: (findfile (setq Profileloc (strcat "c:\\" Profilename ".arg"))))
Aufgrund deiner Frage hier, traue ich mich mal zu Fragen: Dir ist bekannt das AutoCAD nur Profile lädt, wenn der Profilname noch nicht exisiert? Ähnlich wie bei allen Stildefinitionen: Textstil, Block, Layer, etc.
------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13529 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 23. Jun. 2016 14:41 <-- editieren / zitieren --> Unities abgeben:          Nur für SNOOP_69
|
SNOOP_69 Mitglied Konstrukteur - Innenausbau
  
 Beiträge: 555 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2022-2025 (Vollversion+LT) - BricsCad - DraftSight 2024 - SolidWorks 2019-2024 - SWOOD 2023 - MasterCAM 2020-2023
|
erstellt am: 23. Jun. 2016 15:15 <-- editieren / zitieren --> Unities abgeben:         
Hallo Thomas, vielen Dank schon mal! wo müsste ich bei deinem Tool "Update" den Pfad X:\\CAD\ unden Profilnamen CAD.ARG eintragen? Code: (defun DT:PROFILE-UPDATE(DATEI DELETE? / PNAMES PNAME TEMPNAME) (vla-GetAllProfileNames (vla-get-profiles(vla-get-preferences(vlax-get-Acad-Object))) 'PNAMES ) (setq PNAMES(mapcar '(lambda(X) (strcase X))(vlax-safearray->list PNAMES))) (and(=(type DATEI)'STR) (setq DATEI (findfile DATEI)) (setq PNAME (strcase(vl-filename-base DATEI))) (or(not(member PNAME PNAMES)) (progn (setq NR 0) (while (member(setq TEMPNAME(strcat PNAME "-"(itoa(setq NR(1+ NR)))))PNAMES)) (not(vl-catch-all-error-p (vl-catch-all-apply 'vla-RenameProfile (list(vla-get-profiles(vla-get-preferences(vlax-get-Acad-Object))) PNAME TEMPNAME ) ) ) ) ) ) (not(vl-catch-all-error-p (vl-catch-all-apply 'vla-ImportProfile (list(vla-get-profiles(vla-get-preferences( vlax-get-Acad-Object))) PNAME DATEI :vlax-false ) ) ) ) (not(vl-catch-all-error-p (vl-catch-all-apply 'vla-put-ActiveProfile (list(vla-get-profiles(vla-get-preferences(vlax-get-Acad-Object)))PNAME) ) ) ) (or(not TEMPNAME) (and DELETE? (not(vl-catch-all-error-p (vl-catch-all-apply'vla-DeleteProfile(list TEMPNAME)) ) ) ) 'T ) ) (vla-get-activeprofile(vla-get-profiles(vla-get-preferences(vlax-get-Acad-Object)))) )
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13529 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 23. Jun. 2016 15:19 <-- editieren / zitieren --> Unities abgeben:          Nur für SNOOP_69
|