DenisHen Posté(e) le 11 août 2013 Posté(e) le 11 août 2013 Bonjour à tous, J'aimerais créer un type de ligne via le LiSP sans pour celà passer par un fichier.lin et sans passer par (command... Voici le type de ligne*AEP,AEP ----AEP----AEP----AEP----AEP----AEP----AEP-- A,20,-1.3,["AEP",TypeLign,S=1.3,R=0.0,X=-0.65,Y=-0.65],-3Où TypeLign serait un style de texte basé sur Simplex.shx réservé au textes dans les lignes... D'avance, merci à tous. Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
DenisHen Posté(e) le 12 août 2013 Auteur Posté(e) le 12 août 2013 J'ai fais çà, mais je ne sais pas trop quoi en faire, mais on ne sait jamais...(defun c:CreeTypeLign (NomType Police /) (entmakex (list (cons 0 "STYLE") (cons 5 "40") (cons 100 "AcDbSymbolTableRecord") (cons 100 "AcDbLinetypeTableRecord") (cons 2 NomType) (cons 70 0) (cons 3 "AEP") ; Texte descriptif du type de ligne (cons 72 65) ; Code d'alignement ; la valeur est toujours 65, le code ASCII pour A (cons 73 ??) ; Nombre d'éléments du type de ligne (cons 40 ??) ; Longueur totale du motif (cons 49 ??) ; Longueur du tiret, du point ou de l'espace (une entrée par élément) (cons 74 ??) ; Type d'élément d'un type de ligne complexe (un par élément) : La valeur par défaut est 0 (pas de forme/texte imbriqué) (cons 75 ??) ; Numéro de forme (un par élément) si le code 74 indique une forme imbriquée (cons 340 ??) ; Pointeur de l'objet STYLE (un par élément si le code 74 > 0) (cons 46 ??) ; S = Valeur d'échelle (facultatif) ; les entrées multiples sont admises. (cons 50 ??) ;Valeur de rotation R = (relative) ou A = (absolue) en radians de la forme ou du texte incorporé ; une par élément si le code 74 spécifie une forme ou une chaîne de texte incorporée (cons 44 ??) ;X = Valeur de décalage de X (facultatif) ; les entrées multiples sont admises (cons 45 ??) ;Y = Valeur de décalage de Y (facultatif) ; les entrées multiples sont admises (cons 9 ??) ;Chaîne de texte (une par élément si code 74 = 2) ) ;_ Fin:list ) ;_ Fin:entmake ) Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
ASTERIXII Posté(e) le 7 avril 2014 Posté(e) le 7 avril 2014 Bonjour, Je reviens sur le sujet, car je ne parviens pas avoir un resultat.Est-il possible d'avoir un exemple ?
bonuscad Posté(e) le 7 avril 2014 Posté(e) le 7 avril 2014 sans passer par (command... Je ne sais pas faire sans aucun (command), on est obligé de charger le type de ligne.Le mieux que je sache faire est comme cela: ((lambda ( / ) (if (not (tblsearch "STYLE" "AEP")) (entmake '( (0 . "STYLE") (100 . "AcDbSymbolTableRecord") (100 . "AcDbTextStyleTableRecord") (2 . "AEP") (70 . 0) (40 . 0.0) (41 . 1.0) (50 . 0.0) (71 . 0) (42 . 1.0) (3 . "Simplex.shx") (4 . "") ) ) ) (if (not (findfile "AEP.lin")) (progn (setq f_pat (open (strcat (getvar "ROAMABLEROOTPREFIX") "support\\AEP.lin") "w")) (write-line "*AEP,AEP ----AEP----AEP----AEP----AEP----AEP----AEP--" f_pat) (write-line "A,20,-1.3,[\"AEP\",AEP,S=1.3,R=0.0,X=-0.65,Y=-0.65],-3" f_pat) (close f_pat) ) ) (command "_.-linetype" "_load" "AEP" (strcat (getvar "ROAMABLEROOTPREFIX") "support\\AEP.lin") "") ;| (if (not (tblsearch "LTYPE" "AEP")) (entmake (list '(0 . "LTYPE") '(100 . "AcDbSymbolTableRecord") '(100 . "AcDbLinetypeTableRecord") '(2 . "AEP") '(70 . 0) '(3 . "AEP----AEP----AEP----AEP----AEP----AEP----AEP-") '(72 . 65) '(73 . 3) '(40 . 24.3) '(49 . 20.0) '(74 . 0) '(49 . -1.3) '(74 . 2) '(75 . 0) (cons 340 (tblobjname "STYLE" "AEP")) '(46 . 1.3) '(50 . 0.0) '(44 . -0.65) '(45 . -0.65) '(9 . "AEP") '(49 . -3.0) '(74 . 0) ) ) ) |; )) La fin qui est commentée devrait fonctionner, mais ce n'est pas le cas. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
ASTERIXII Posté(e) le 7 avril 2014 Posté(e) le 7 avril 2014 Merci de ta réponse, Mais c'est sa que je voudrais éviter : (write-line "A,20,-1.3,[\"AEP\",AEP,S=1.3,R=0.0,X=-0.65,Y=-0.65],-3" f_pat) Une autre approche, comment faire pour modifier une defintion de ligne existante dans un plan ? Exemple: j'ai une ligne (dans mon plan) VIDE,20,-1.3,[AEP,S=1.3,R=0.0,X=-0.65,Y=-0.65],-3 --> voir le code dxf renommer VIDE par un autre nommodifier le texte AEP par un autre texte de 3 lettres
bonuscad Posté(e) le 7 avril 2014 Posté(e) le 7 avril 2014 D'après moi ce n'est pas possible. Je voulais voir si en activex c'était possible, mais dans l'aide, je suis tombé sur ceci: NOTE It is not possible to create a linetype programmatically. An existing linetype may be added to a drawing by using the Load method to first load the linetype, and then the Add method to add it to the Linetypes collection. Ce qui explique qu'avec (entmake) je n'y arrivais pas non plus... :( Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
vincentp010 Posté(e) le 8 avril 2014 Posté(e) le 8 avril 2014 Avec un peut de recherche, on découvre que l'on peut créer des types de ligne simple avec entmake, mais pas ceux avec du texte. Aide au téléchargement du cadastre dgfip-download-helper Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0 Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js
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