Aller au contenu

Pb avec Lisp RbU (renommer les bloc avec etoiles)


grandss

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 - GitHub
Développements sur mesure pour AutoCAD

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 - GitHub
Développements sur mesure pour AutoCAD

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

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité