Aller au contenu

Aide pour lisp


Netparty

Messages recommandés

Bonjour @Netparty

Je suis obligé de faire une demi-réponse, car il n'est pas expliqué si la polyligne aura plusieurs sommets
Je pars sur un exemple simple d'un seul segment comme une pointe de flèche de 1 unité au départ et qui finit à 0, ça fera une base de départ.

(setq p1 (getpoint "\nDépart\n")
      p2 (getpoint "\nArrivée\n"))
(setq ep1 1
      ep2 0)
(command "_pline" p1 "_w" ep1 ep2 p2 "")

Si c'est pour dessiner des segments avec chacun une épaisseur différente, il faudra réfléchir un tantinet plus.

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

Coucou,

Il faut utiliser la fonction (command) et les arguments que tu dois lui passer sont strictement les mêmes que tu utiliserais en ligne de commande sur AutoCAD. Autrement dit, regardes ce que TU ferais en faisant la manip' manuellement, et rentre chaque entrée clavier sous forme d'arguments pour ta fonction (command). Je ne comprends cependant pas la demande :

Il y a 2 heures, Netparty a dit :

Est-il possible de définir la largeur du sommet de départ et de fin

Cela signifie t-il le sommet de départ et de fin de chaque segment ? de la polyligne ? Ou bien est-ce le sommet de départ de la polyligne qui possède une épaisseur, le reste doit être à 0, puis de nouveau une épaisseur pour le dernier sommet de la polyligne ? Pour les (command "_PLINE"), on utilise régulièrement une boucle (while) pour la saisie des points (et ainsi s'adapter au nombre variable de sommets désirés) :

(command "_PLINE" pause "_Width" pause pause)
(while (setq pt (getpoint "\nPoint suivant : "))
	(command pt)
)
(command)

Cependant cette méthode ne peut pas prévoir un changement progressif de l'épaisseur car il faudrait connaître à l'avance le nombre de sommet ainsi que la largeur de chaque segment. Autrement dit, pour quelque chose du genre, ce n'est pas à la création de la polyligne qu'il faudrait le gérer mais en post-traitement via (entmod) et la gestion des codes DXF 40 (= Starting width) et 41 (= End width). Il faudrait également calculer les longueurs de segment afin d'avoir un changement d'épaisseur uniforme.

Bisous,
Luna

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é