Bonjour
je pars d'une base trouvé sur internet qui permet de convertir un texte simple en bloc + attribut.
Mon but et que automatiquement, tous les texte qui remplisse une condition se transforment seul sans avoir besoin de les selectionné 1 à 1.
Actuellement, j'ai le code que j'ai copier ci-dessous auquel j'ai rajouter mes conditions. Ca fonctionne mais je suis donc obligé de cliquer sur chaque texte ... ca vérifie la condition et l'effectue si ok ...
Comment faire pour les bloc se selectionne seul ? :/
Un truc genre : prendre le 1er bloc test ... le tester .... passé au suivant .... Merci d'avance si vous pouvez m'aider ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133 defun c:txt2blk (/ blkName tagName lyrName ss index el txtHt txtStyl txtHorJust txtVertJust txtLyr blkPt blkHt attStr blkRot alignPt en ) (setq ss (ssget '((0 . "text"))) index 0 testrenvoi "0" testrenvoi (entget (ssname ss index)) texte (cdr (assoc 1 testrenvoi)) ) (setq testrenvoi (substr texte 1 5)) (if (or (= testrenvoi "test1.") (= testrenvoi "test2") ) (progn texte (cdr (assoc 1 el)) (write-line texte) (setq blkName "a" tagName "b" lyrName "c" ) (cond ((not ss) (prompt "\nNo text selected.\n") ) ('T (setq index 0 el (entget (ssname ss index)) texte (cdr (assoc 1 el)) txtHt (cdr (assoc 40 el)) txtStyl (cdr (assoc 7 el)) txtHorJust (cdr (assoc 72 el)) txtVertJust (cdr (assoc 73 el)) flarg (cdr (assoc 41 el)) ) (write-line texte) (setq texte2 (substr texte 1 4)) (write-line texte2) (entmake (list (cons 0 "block") (cons 2 blkName) (cons 70 2) (cons 10 '(0.0 0.0 0.0)) ) ) (entmake (list (cons 0 "attdef") (cons 8 lyrName) (cons 10 '(0.0 0.0 0.0)) (cons 40 txtHt) (cons 1 "") (cons 3 "Enter a value") (cons 2 tagName) (cons 70 0) (cons 7 txtStyl) (cons 72 txtHorJust) (cons 74 txtVertJust) ) ) (entmake '((0 . "endblk"))) (repeat (sslength ss) (setq en (ssname ss index) el (entget en) txtLyr lyrName blkPt (cdr (assoc 10 el)) blkHt (cdr (assoc 40 el)) attStr (cdr (assoc 1 el)) blkRot (cdr (assoc 50 el)) txtStyl (cdr (assoc 7 el)) txtHorJust (cdr (assoc 72 el)) txtVertJust (cdr (assoc 73 el)) alignPt (cdr (assoc 11 el)) index (1+ index) ) (entmake (list (cons 0 "insert") (cons 2 blkName) (cons 8 txtLyr) (cons 10 blkPt) (cons 41 (/ blkHt txtHt)) (cons 42 (/ blkHt txtHt)) (cons 43 (/ blkHt txtHt)) (cons 50 blkRot) (cons 66 1) ) ) (entmake (list (cons 0 "attrib") (cons 8 txtLyr) (cons 10 blkPt) (cons 40 blkHt) (cons 41 flarg) (cons 1 attStr) (cons 2 tagName) (cons 70 0) (cons 50 blkRot) (cons 7 txtStyl) (cons 72 txtHorJust) (cons 74 txtVertJust) (cons 11 alignPt) ) ) (entmake (list (cons 0 "seqend") (cons 8 txtLyr) ) ) (entdel en) ) (redraw) ) ) (princ) ) )) (princ "\n\nType 'TXT2BLK' to run program.") (princ)
Partager