juju_30
Membres-
Compteur de contenus
95 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par juju_30
-
merci patrick ça marche bien par contre j'ai une petite question qui merite avant une petite explication. mon bloc est un bloc avec un parametre de visibilite. la ligne (caché) que je cherche à modifier ne fait pas partie du bloc qui s'affiche initialement. est ce que c'est pour ça que lorsque je fait défiler toutes les entités le programme ne trouve pas cette ligne???
-
bonjour patrick_35, je suis ok pour la premiere partie pour trouver mon bloc mais lorsque j'utilise: "Pour trouver le 1er objet qui compose le bloc ( setq ent (entget (cdr (assoc -2 mon_bloc)))) " je n'arrive pas a trouver les autres entités qui compose mon bloc. j'ai essayer d'incrémenter cette derniere ligne de code pour passer aux entités suivantes mais sans résultat (ça ne doit pas être possible). et dans la ligne de code (setq ent (entnext (cdr (assoc -1 ent)))) (setq ent (entget ent)) il n'y a pas de reference a l'échelle de la ligne dans la variable "ent"? peut être il serait plus facile de faire cette manipulation en passant par une liste dans laquelle toutes les entités sont référencer pour aller les inspecter une par une?
-
merci mais je voudrais pouvoir modifier l'échelle de la ligne via un programme lisp et non de la façon classique par l'éditeur de bloc
-
Bonjour, je voudrais avoir la possibilité de modifier l'echelle d'une ligne (caché) composant mon bloc dynamique mais je n'arrive pas à acceder à cette donné. Si quelqu'un aurait la bonté de me rendre service. Merci
-
merci c'était bien les paramètres d'imprimante (auxquel je n'avais pas pensé) du gestionnaire de calques, bonne fin de journée
-
bonjour, je viens de creer un calque (visible, actif...) et lorsque je veux imprimer, les elements contenu dans ce dernier ne sont pas visible. si je change les elements de calque (dans un ancien) ils sont visibles à l'impression. j'ai donc verifier les propriétés de tracés de mon calque créé, elles n'ont rien de particulier par rapport aux autres. je ne sais pas quoi faire, si quelqu'un peut m'aider, Merci
-
Bonjour, mise en situation: -j'ai un bloc dynamique electrique avec un paramètre de visibilité me permettant d'afficher différents blocs. -ces différents blocs ont un texte pour les designer (pour un bloc electrique j'affiche le bloc soit: interrupteur, alarme, luminaires...) j'aurais voulu savoir s'il était possible d'obtenir ce texte.
-
Bonjour, j'ai un petit souci au niveau de la commande "ZOOM" lorsque je veux zoomer sur un OBJET. j'écris dans mon programme: (command "_zoom" "o" en "") avec (setq en (ssname polylignes cntr)) le probleme est que le zoom sur mes différents objets marche des fois trés bien et la fois d'aprés le zoom s'arrete avant d'être complet, a quoi cela peut être dû ? merci d'avance
-
- la ligne (setq check (vlax-property-available-p vlaentité1 "Color" T)) est un oubli de ma part (DSL) - pour ce qui est du type de ligne "cache" il n'était pas chargé dans le dessin où je testais mon prog merci pour votre aide par contre ci vous pouviez m'eclaircir sur le fait d'utiliser autolisp ou vlisp car pour moi le vlisp permettait de modifier des objets autocad justement grace à vlisp (en utilisant VLAX...) ???
-
bonjour, j'ai deja changé le type de ligne d'une entite sans probleme mais aujourd'hui je voudrais l'appliquer à une selection generale. le probleme est que la fenetre de suivi me renvoi le message "erreur automation clé introuvable" lorsque j'arrive sur " 'linetype " voila mon petit programme: (defun c:fp () (setq x (ssget "x" (list (cons 8 "fauxplafond") (cons 62 1)))) (setq cntr 0) (while (< cntr (sslength x)) (setq en (ssname x cntr)) (setq vlaentité1 (vlax-ename->vla-object en)) (setq check (vlax-property-available-p vlaentité1 "Color" T)) (vlax-put-property vlaentité1 'linetype "cache") ) ) si quelqu'un pouvait m'aider et me dire de quoi il s'agit lorsque se message s'affiche je lui serais reconnaissant. Merci
-
Bonjour, j'ai dernierement créé des blocs dynamiques qui s'insèrent avec un programme lisp, en créant un calque spécifique. le problème est que lorsque je les insere d'autre calque se créer car certains de mes objets composant mes blocs appartenaient à un autre calque. je les ai donc remis dans le bon calque (dans l'éditeur de blocs) mais je suis dans l'impossibilité de supprimer les calques qui ne contiennent plus rien, que puis-je faire ??? merci d'avance pour votre aide
-
Merci pour cette precision, et bonne journée à vous.
-
Bonjour, lorsque l'on defini un point par: (setq p1 (getpoint "\n donner le premier point")) ses coordonnées ne possède aucune decimale. J'aurai voulu savoir si une fonction simple existait pour obtenir les coordonnées de ce point avec un maximum de precision. Merci
-
Bonjour, grace au programme LISP, on a la possibilité de séléctionner des objets de certaines couleur, de certains calques... j'aurais voulu savoir si il y avait la possibilité d'ajuster des lignes ou autres de la même manière (en créant des filtres)? merci
-
le programme est assez long mais si vous voulez le tester c'est pas plus mal et je vous en remercie. quelques explications: c'est un programme pour faire des plans de fermettes sur des batiment préfabriqué qui on des trames spécifique donc si vous voulez le tester il faut: -faire un rectangle de 16250 mm (à l'horizontale) par 8750 (c'est l'exemple sur lequel je travail) - le décaler par exemple de 300 vers l'exterieur pour faire un débord de toiture - faire une toiture [surligneur] 4 pentes[/surligneur] (avec le [surligneur] faitage horizontal et centré[/surligneur]) il faut ensuite pointer les 4 points de la toiture pointer deux points du premier rectangle (il y a des indications dans le programme) pointer les deux faitages je vous donne le programme (raccourci) et merci encore de me consacrer de votre temps (defun c:fermettes () (command "inserer" "gabarit_cot+LRM" 0,0,0 1 1 0) (command "_clayer" 0) (vl-load-com) (setvar "osmode" 679) (setvar "cmdecho" 0) (command "scu" "") (command "_dimstyle" "r" "1-50" "") ;CREATION DU CALQUE FERMETTES (initget "O N _oui non") (if (eq (getkword "\n y-a-t-il un calque fermettes ? [O/N] ") "oui") (progn (command "calque" "e" "fermettes_cot" "co" 1 "fermettes_cot" "tl" "continuous" "fermettes_cot" "") (command "_clayer" "fermettes_cot") (command "_clayer" "fermettes") ) (progn (command "calque" "e" "fermettes_cot" "co" 1 "fermettes_cot" "tl" "continuous" "fermettes_cot" "") (command "_clayer" "fermettes_cot") (command "calque" "e" "fermettes" "co" 202 "fermettes" "tl" "axes" "fermettes" "") (command "._layer" "_thaw" fermettes "_on" fermettes "_unlock" fermettes "_set" fermettes "" ) (command "_clayer" "fermettes") ;on le rend courant pour que les traits soient tracés dedans ) ) ;DEFINITION DES VARIABLES (prompt "\n selectionnez les points exterieurs de la toiture:") (setq p1 (getpoint "\n donner le premier point")) (setq p2 (getpoint "\n donner le deuxième point")) (setq p3 (getpoint "\n donner le troisième point")) (setq p4 (getpoint "\n donner le quatrième point")) ;on definit de nouveaux point pour qu'il n'y ai pas d'ordre (setq p10x (min (car p1) (car p2) (car p3) (car p4))) (setq p10y (max (cadr p1) (cadr p2) (cadr p3) (cadr p4))) (setq p20x (min (car p1) (car p2) (car p3) (car p4))) (setq p20y (min (cadr p1) (cadr p2) (cadr p3) (cadr p4))) (setq p30x (max (car p1) (car p2) (car p3) (car p4))) (setq p30y (min (cadr p1) (cadr p2) (cadr p3) (cadr p4))) (setq p40x (max (car p1) (car p2) (car p3) (car p4))) (setq p40y (max (cadr p1) (cadr p2) (cadr p3) (cadr p4))) (setq p10 (list p10x p10y 0.0)) (setq p20 (list p20x p20y 0.0)) (setq p30 (list p30x p30y 0.0)) (setq p40 (list p40x p40y 0.0)) ;traçage de la bordure de la toiture (command "_pline" p10 p20 p30 p40 p10 "la" 0 0 "" "") (setq d1 (distance p10 p20)) (setq d2 (distance p10 p40)) (setq phg (list (car p10) (- (cadr p10) (/ d1 2)))) (setq phd (list (car p40) (- (cadr p40) (/ d1 2)))) (setq pvh (list (+ (car p10) (/ d2 2)) (cadr p10))) (setq pvb (list (+ (car p20) (/ d2 2)) (cadr p20))) ;traçage de la première fermette (setq p_int (getpoint "\n pointer l'angle interieur des panneaux (en haut à droite)")) (setq p_intt (getpoint "\n pointer l'angle interieur des panneaux (en haut à gauche)")) (setq d_int (distance p_int p_intt)) (setq d_res (fix (/ d_int 625))) (setq p_int1 (list (car p_int) (cadr p40))) (setq p_int2 (list (car p_int) (cadr p30))) (command "ligne" p_int1 p_int2 "") (setq ferm (entlast)) (command "scu" "3" p30 p40 p20) (command "reseau" ferm "" "r" (+ d_res 1) 1 +625) (command "scu" "") ;positionnement de la cotation du faitage (command "_layer" "e" "fermettes_cot" "") (command "_clayer" "fermettes_cot") (setq phdc (list (+ (car phd) 800) (cadr phd))) (setq p40c (list (+ (car p40) 800) (cadr p40))) (setq p40c2 (list (+ (car p40) 1300) (cadr p40))) (command "_dimlinear" p30 phd phdc) (command "_dimlinear" phd p40 p40c) (command "_dimlinear" p30 p40 p40c2) ;positionnement de la cotation des fermettes (setq p_int2g (list (- (car p_int2) 625) (cadr p_int2))) (setq p_int2gc (list (car p_int2g) (- (cadr p_int2g) 700))) (setq p_int2c (list (car p_int2) (- (cadr p_int2) 700))) (command "_dimlinear" p30 p_int2 p_int2c) ;cotation du débord (setq sym (entlast)) (command "_mirror" sym "" pvh pvb "n") (command "_dimlinear" p_int2 p_int2g p_int2gc) ;1ere cotation de 625 (setq cotat (entlast)) (command "scu" "3" p30 p40 p20) (command "reseau" cotat "" "r" d_res 1 +625) (command "scu" "") ;traçage des polylignes (command "_clayer" "fermettes") (setq fait_g (getpoint "\n cliquer sur le faitage gauche")) (command "_pline" p20 fait_g p10 "") (setq polyligne (entlast)) (setq x1 (list (+ (car p10) 100) (- (cadr p10) 1000))) (setq x2 (list (- (car fait_g) 1) (cadr fait_g))) (setvar "osmode" 0) (command "_trim" polyligne "" "t" x1 x2 "" "") (setvar "osmode" 1) (setq fait_d (getpoint "\n cliquer sur le faitage droit")) (command "_pline" p30 fait_d p40 "") (setq polyligne (entlast)) (setq x3 (list (- (car p40) 100) (- (cadr p40) 1000))) (setq x4 (list (+ (car fait_d) 1) (cadr fait_d))) (setvar "osmode" 0) (command "_trim" polyligne "" "t" x3 x4 "" "") (setvar "osmode" 1) ;on ferme le contour (command "_line" p40 p30 "") (command "_line" p10 p20 "") (command "_line" p20 p30 "") (command "_line" p10 p40 "") ;on trace les fermettes de pignon (setvar "osmode" 0) (setq f1 (list (car p10) (cadr p_int))) (setq f2 (list (+ (car f1) 100) (cadr p_int))) (command "_line" f1 f2 "") (setq fermette (entlast)) ;definition de variable pour le reseau (setq dd (distance p10 f1)) (setq d_res2 (/ (fix (- d1 (* 2 dd))) 625)) (command "reseau" fermette "" "r" (+ d_res2 2) 1 -625) ;selection pour extension (setq capt1 (list (- (car fait_g) 1) (+ (cadr fait_g) 1))) (setq capt2 (list (+ (car fait_g) 1) (- (cadr fait_g) 1))) (setq capt (ssget "_c" capt1 capt2 (list (cons 8 "fermettes")))) ;la polyligne jusqu'à laquelle on prolonge (setq x (list (+ (car p20) 75) (+ (cadr p20) 5))) (setq xx (list (+ (car p10) 50) (- (cadr p10) 5))) (setq e1 (ssget "_c" x xx (list (cons 8 "fermettes")))) ;les fermettes (command "_extend" capt "" e1 "") ;selection pour symetrie fermette (setq e1 (ssget "_c" x xx (list (cons 8 "fermettes")))) (command "_mirror" e1 "" pvh pvb "n") (command "_line" fait_g fait_d "") ;positionnement du texte (setq p_text (list (+ (car p30) 500) (- (cadr p30) 1500))) (command "texte" "s" "arial" p_text 500 0 "Plan de fermettes") ;cotation fermette pignon (command "_clayer" "fermettes_cot") (setq p_intt2 (list (car p10) (cadr p_intt))) (setq p_intt2c (list (- (car p10) 700) (cadr p_intt))) (command "_dimlinear" p10 p_intt2 p_intt2c) (setq cot (entlast)) (command "_mirror" cot "" fait_g fait_d "n") (setq p_inttb (list (car p_intt2) (- (cadr p_intt2) 625))) (setq p_inttbc (list (car p_intt2c) (cadr p_inttb))) (command "_dimlinear" p_intt2 p_inttb p_inttbc) (setq cot (entlast)) (command "reseau" cot "" "r" (+ d_res2 1) 1 -625) (setvar "osmode" 679) ))
-
je viens d'essayer avec la variable edgemode à 1 mais ça ne marche toujours pas. explications: je traite deux cas dans mon programme: -dans le premier cas je prolonge des lignes verticales sur une polyligne horizontale et je n'ai aucun souci (la variable edgemode etant à 0) -dans le deuxième cas je prolonge des lignes horizontales sur une polyligne verticale et là ça coince j'ai essayer de faire des changement de repere mais en vain. je reste dans l'incompréhension. si tu as d'autres idées, elles sont les bien venues.
-
Bonjour, j'ai un petit souci au niveau de la commande "extend". je veux prolonger plusieurs lignes (selection e1) vers une polyligne (selection capt). ces deux variables sont verifiées et correspondent bien aux différentes entités (lignes et polylignes) séléctionnées. cependant lorsque je lance la commande (command "_extend" capt "" e1 ""), je reçois deux messages: - aucun seuil dans cette direction -l'objet ne coupe pas une arête à quoi cela peut être dû ? merci d'avance pour vos réponses
-
les quatre premières decimales étaient bien égales mais pas les autres. du coup tout fonctionne bien. merci pour ces indications et bonne fin de journée.
-
en definissant mes points 1 et 2 différement juste avant la fonction IF, cette derniere fonctionne correctement. ce qui me pousse encore un peu plus dans l'incompréhension car la différence entre point1 (0 3 0) ou (84965.9 31245.9 0.0) point2 (0 3 0) ou (50678.6 31245.9 0.0) je ne la vois pas, surtout qu'en on compare seulement les Y mais merci qu'en meme
-
Bonjour, sa fait quelque temps que j'utilise le langage LISP, cependant je bloque sur un probleme basique. je compare deux ordonnées de deux points, qui sont EGALES (c'est verifié), cependant lorsque j'écris: (if (= (cadr point1) (cadr point2)) (progn1 ... ) (progn2 ... ) je suis renvoyé au progn2 au lieu du progn1. si quelqu'un peut me dire à quoi cela peut etre dû, je le remercie d'avance.
