Aller au contenu

Pb avec Lisp RbU (renommer les bloc avec etoiles)


grandss
 Partager

Messages recommandés

Salut,

 

J'ai un pb avec mon lisp qui jusqu'ici fonctionnait très bien sur 2017.

Je suis passé en 2018, et lorsque je charge le lisp, j'ai le message suivant : structure incorrecte de la liste en entrée

Sachant qu'il me dit que le lisp s'est correctement chargée.

Auriez-vous une idée ? Merci.

 

 

Le lisp est le suivant :

(defun c:rbU (/n )
 (vlax-for b (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)))
   (setq n (vla-get-name B))
   (if (= "*U" (substr n 1 2))
     (vla-put-name b (substr n 2)
   )
)

Modeler Revit MEP - Référent BIM

Revit MEP - Navisworks - Magicad

Autocad MEP 2018 (mais plus beaucoup)

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

"structure incorrecte de la liste en entrée" signifie en général un problème d’appariement de parenthèse.

Tu devrais être capable de le trouver avec l'aide de l'éditeur Visual LISP.

 

PS : je ne suis pas certain que renommer les blocs anonymes soit une bonne idée. AutoCAD, comme certains développements tiers, filtrent les blocs dont le nom commence par *U.

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

"structure incorrecte de la liste en entrée" signifie en général un problème d’appariement de parenthèse.

Tu devrais être capable de le trouver avec l'aide de l'éditeur Visual LISP.

 

PS : je ne suis pas certain que renommer les blocs anonymes soit une bonne idée. AutoCAD, comme certains développements tiers, filtrent les blocs dont le nom commence par *U.

Ca me sert à nettoyer certains plans non autodesk.

Modeler Revit MEP - Référent BIM

Revit MEP - Navisworks - Magicad

Autocad MEP 2018 (mais plus beaucoup)

Lien vers le commentaire
Partager sur d’autres sites

Bon j'ai corrigé les parenthèses.

Mais maintenant j'ai comme messages : nombre d'arguments insuffisants

Pourtant ce lisp fonctionnait parfaitement avant.

(defun c:rbU (/n )
(vlax-for b (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)))
	(setq n (vla-get-name B))
	(if (= "*U" (substr n 1 2))
		(vla-put-name b (substr n 2))
	)
)
)

Modeler Revit MEP - Référent BIM

Revit MEP - Navisworks - Magicad

Autocad MEP 2018 (mais plus beaucoup)

Lien vers le commentaire
Partager sur d’autres sites

Coucou,

 

Tu as quel AutoCAD au juste ? Moi ça semble fonctionner sur AutoCAD 2019...

Peut-être que certaines fonctions ont été retravaillées sur AutoCAD MEP 2018...no lo sé..

 

Existe-t-il des différences de programmation entre les différents logiciel d'AutoCAD ou bien est-ce strictement le même système ?

 

Bisous,

Luna

Lien vers le commentaire
Partager sur d’autres sites

Étrange. As-tu essayé la méthode "Arrêt sur erreur" & "Source de la dernière interruption" ?

 

<iframe width="640" height="650" src="https://screencast.autodesk.com/Embed/Timeline/a86e6108-ff20-42cc-b6f1-054f6989c0ee" frameborder="0" allowfullscreen webkitallowfullscreen></iframe>

 

il me sélectionne toute la fonction :D

Modeler Revit MEP - Référent BIM

Revit MEP - Navisworks - Magicad

Autocad MEP 2018 (mais plus beaucoup)

Lien vers le commentaire
Partager sur d’autres sites

Coucou,

 

Tu as quel AutoCAD au juste ? Moi ça semble fonctionner sur AutoCAD 2019...

Peut-être que certaines fonctions ont été retravaillées sur AutoCAD MEP 2018...no lo sé..

 

Existe-t-il des différences de programmation entre les différents logiciel d'AutoCAD ou bien est-ce strictement le même système ?

 

Bisous,

Luna

Je suis sur AcadMEP2018. Je ne me souviens plus si je l'ai déjà essayé avant sur cette version.

Mais je l'utilisé sur une version AcadMEP 2017 sans problème.

Je vais tester ce soir chez moi, je crois que je suis encore en 2017.

A ma connaissance, c'est un rajout du MEP sur AutoCAD. J'ai toute les fonctions AutoCAD.

Modeler Revit MEP - Référent BIM

Revit MEP - Navisworks - Magicad

Autocad MEP 2018 (mais plus beaucoup)

Lien vers le commentaire
Partager sur d’autres sites

il me sélectionne toute la fonction :D

 

C'est parce qu'il manque une espace entre la barre oblique et le n dans la déclaration des variables (/n) donc l'interpréteur considère que /n est l'argument de la fonction au lieu de n variable locale d'où le 'nombre d'arguments insuffisants' et la sélection de toute la fonction par 'Source de la dernière interruption'.

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

Hello Mr grandss

 

SVP tu pourras nous remettre la bonne version du Lisp/VLisp ?

 

LA SANTE (Stay Safe, Stay Home, Stay Live), Bye, lecrabe "triste"

Automne 2020, la retraite... Dans 13 jours...

 

Bien sûr.

Le lisp :

(defun c:rbU (/ n )
(vlax-for b (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)))
	(setq n (vla-get-name B))
	(if (= "*U" (substr n 1 2))
		(vla-put-name b (substr n 2))
	)
)
)

Modeler Revit MEP - Référent BIM

Revit MEP - Navisworks - Magicad

Autocad MEP 2018 (mais plus beaucoup)

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
 Partager

×
×
  • Créer...