onossa Posté(e) le 11 septembre 2009 Posté(e) le 11 septembre 2009 Bonjour, J'utilise un vlx chargé au démarrage. Quand je lance une commande qui y est définie, j'ai:error: bad argument type: lselsetp nildans la foulée, si j'appload manuellement le même VLX, là ça fonctionne.... Si quelqu'un a une idée, ce serait sympa.... Merci !! L'expérience est une lanterne qui n'éclaire que celui qui la porte... (Confucius)
lili2006 Posté(e) le 11 septembre 2009 Posté(e) le 11 septembre 2009 Bonsoir à toutes et tous, J'utilise un vlx chargé au démarrage. Heu, que veux-tu dire par là ??? Depuis ton acaddoc.lsp ? Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 12 septembre 2009 Posté(e) le 12 septembre 2009 Salut, Difficile à dire sans voir le code, mais je vois mal comment ça peut venir du mode de chargement."error: bad argument type: lselsetp nil" signifie qu'une fonction attend un jeu de sélection comme argument et se voit passer nil. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
onossa Posté(e) le 14 septembre 2009 Auteur Posté(e) le 14 septembre 2009 Bonjour, et merci pour vos réponses. Au fait, le chargement auto se fait via le Startup suite de la boite de dialogue appload. Pour ce qui est du code, je redéfini les fonctions QSAVE SAVEAS et REGEN afin que celles-ci updatent le nombre total de présentations, afin que le champ du bloc cartouche qui l'utilise soit renseigné/updaté. ;;;; nouvelle définition de la commande QSAVE (pour update du champ du nombre total de présentations) (defun c:QSAVE () (layoutcount) (title_expand) (command ".QSAVE") ) ;;;; Fin nouvelle définition de la commande QSAVE Pour layoutcount: ;;; Début de la mise à jour automatique du nombre total de présentation (comptage et update du champ) (defun layoutcount ( / acadObj acDoc acDocLayouts acDocSumInfo) (vl-load-com) (setq acadObj (vlax-get-acad-object)) (setq acDoc (vlax-get-property acadObj 'ActiveDocument)) (setq acDocLayouts (vlax-get-property acDoc 'Layouts)) (setq acDocSumInfo (vlax-get-property acDoc 'SummaryInfo)) ;; Subtract one for the Model tab (setq sLayoutCount (itoa (1- (vlax-get-property acDocLayouts 'Count)))) (if (= (strlen sLayoutCount) 1) (setq sLayoutCount (strcat "0" sLayoutCount))) ) Si le nombre total est à 1 chiffre, je rajoute un 0 devant.. Pour title_expand, il s'agit de récupérer la valeur d'un attribut du cartouche (si existant) afin de renseigner un champ personnalisé du fichier, afin que celui-ci soit récupéré dans Productstream... ;;;;;;;;;;;;;;;; Extraction du titre depuis le block ou dernière ligne cartouche non-sketch vers propriétés fichier pour Vault (defun title_expand ( / kWord acadObj acDoc acDocSumInfo nCustomProps loopCnt customFieldName fieldValue errHandler nombloc etiq_title etiq_title2 valtitle) (setq ss nil) (setq ss (ssget "x" '((-4 . "")))) (setq etiq_title "title_3") (setq etiq_title2 "Description.1") (if (/= ss nil) (progn (while (setq Ent (ssname ss 0)) (setq tempEnt Ent) (while (setq tempEnt (entnext tempEnt)) (setq EntData (entget tempEnt)) (if (and (= (cdr (assoc 0 EntData)) "ATTRIB") (or (= (cdr (assoc 2 EntData)) etiq_title) (= (cdr (assoc 2 EntData)) etiq_title2) ) ) (progn (setq valtitle (cdr (assoc 1 EntData))) ) ) (ssdel Ent ss) ) ) ) ) (princ valtitle) (if (/= valtitle nil) (progn (vl-load-com) (setq acadObj (vlax-get-acad-object)) (setq acDoc (vlax-get-property acadObj 'ActiveDocument)) (setq acDocSumInfo (vlax-get-property acDoc 'SummaryInfo)) (setq customFieldName "DrawingDesignation.1") (if (or (/= customFieldName "")(/= customFieldName nil)) (progn ;; Test to see if the Field is already created or not (setq errHandler (vl-catch-all-apply 'vlax-invoke-method (list acDocSumInfo 'GetCustomByKey customFieldName 'fieldValue))) ;; Get the value for the field (setq fieldValue valtitle) ;; Test error ;;(vl-catch-all-error-message errHandler) (if (= errHandler nil) ;;Update extry (vlax-invoke-method acDocSumInfo 'SetCustomByKey customFieldName fieldValue) ;; Field doesn't exist... creating entry (vlax-invoke-method acDocSumInfo 'AddCustomInfo customFieldName fieldValue) ) (progn ;; Test to see if the Field is already created or not (setq errHandler (vl-catch-all-apply 'vlax-invoke-method (list acDocSumInfo 'GetCustomByKey customFieldName 'fieldValue))) ;; Test error ;;(vl-catch-all-error-message errHandler) ;(if (= errHandler nil) ;;Remove extry ; (vlax-invoke-method acDocSumInfo 'RemoveCustomByKey customFieldName) ;) ) ) ) ) ) ) ;;;;;;;;;;;;;;;;; FIN Extraction du titre depuis le block ou dernière ligne cartouche non-sketch vers propriétés fichier pour Vault Ces fonctions sont toutes définies dans un fichier Lisp que le compile dans un VLX et que je place dans un lecteur réseau. Quand je fai un appload et que je charge manuellement, ça marche... Voilà, merci pour votre précieuse aide. L'expérience est une lanterne qui n'éclaire que celui qui la porte... (Confucius)
lili2006 Posté(e) le 14 septembre 2009 Posté(e) le 14 septembre 2009 Bonsoir à toutes et tous, Heu là,...Pas sûr d'avoir tout compris moi,.... :( Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant