blizard
Membres-
Compteur de contenus
80 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par blizard
-
hello, J'utilise exttatbe pour extraire mes surface faite à partir de la commande pline_block, Gilles précise un peu plus haut: "Comme les modifications apportées au tableau d'extraction (fait avec EXTATTBE) seront perdues en cas de mise à jour des champs, il est préférable de faire un autre tableau (d'une seule rangée) dans lequel des champs "Formule" afficheront les résultats des totaux. Cela signifie que si je change ma polyligne donc ma surface, la mise à jour n'est pas possible dans le tableau, ou y a t-il une solution? merci
-
oui ca peut arriver mais c'est pas le cas...
-
merci pour les réponses, mon échelle semble correcte, et j'ai mis la variable sur 2 mais le souci persiste
-
hi, J'ai des attributs dans un bloc, mais lorsque je sors du bloc ils disparaissent... Y a une astuce?
-
Hi, Félicitation pour les images! Juste une question: Vous fabriquez vos textures vous meme dans sketchup ou vous avez une autre solution?
-
Comment peut on attribuer une texture à un calque?
-
lisp pour accrocher extremites à une grille
blizard a répondu à un(e) sujet de FRAXA dans AutoCAD 2005
ca marche nickel merci mille fois un temps fou de gagné -
lisp pour accrocher extremites à une grille
blizard a répondu à un(e) sujet de FRAXA dans AutoCAD 2005
hello J'utilise ce lisp pour déplacer les extrémités d'une ligne sur les points snap de la grille: (defun c:snap (/ snap-pt ss n elst) (defun snap-pt (pt) (mapcar '(lambda (x1 x2) (if (minusp x1) (* x2 (fix (- (/ x1 x2) 0.5))) (* x2 (fix (+ (/ x1 x2) 0.5))) ) ) pt (getvar "SNAPUNIT") ) ) (prompt "\nSélectionner les objets à accrocher à la grille ou < Tous >: " ) (or (setq ss (ssget '((0 . "LINE,LWPOLYLINE")))) (setq ss (ssget "_X" '((0 . "LINE,LWPOLYLINE")))) ) (if ss (repeat (setq n (sslength ss)) (setq elst (entget (ssname ss (setq n (1- n))))) (cond ((= (cdr (assoc 0 elst)) "LINE") (entmod (subst (cons 10 (snap-pt (cdr (assoc 10 elst)))) (assoc 10 elst) (subst (cons 11 (snap-pt (cdr (assoc 11 elst)))) (assoc 11 elst) elst ) ) ) ) ((= (cdr (assoc 0 elst)) "LWPOLYLINE") (entmod (mapcar '(lambda (x) (if (= (car x) 10) (cons 10 (snap-pt (cdr x))) x ) ) elst ) ) ) ) ) ) (princ) ) Et ce serait merveilleux si outre les polylignes, ce lisp pouvait s'appliquer au blocs et aux cotes, si qqn à le courage, merci d'avance -
bonjours, Quelles sont vos méthodes pour aléger vos fichiers, on a vu dans le post précédent que mettre les cotes sur un fichier en xref pouvait aidé, vous en connaissez d'autres? merci
-
en développé: j'ai l'habitude par exemple de faire des blocs de toutes mes cotes mais je pourais aussi en faire des groupe, en fait je voudrais surtout savoir si ca mange moins de ressource. merci
-
bonjours, J'aurais voulu savoir s'il y avait des avantages à utiliser les groupes par rapport aus blocs? merci
-
merci beaucoup, c'est tres simple en fait
-
Hi Je souhaite créer des clipboard tel que ceux que l'on peut télécharger 3D Warehouse, mais je ne sais pas comment faire, si qqn à déjà expéirimenté... Merci d'avance Un clipboard d'apres ce que j'ai cru comprendre c'est un peu comme le bonhomme à l'ouverture de sketchup sauf que c'est une image. En gros je voudrais faire mes propres persos qui s'oriente tout seul face à la caméra
-
hello J'ai également récupérer les nouveaux fichier pline_block: getname.dcl getname.lsp pline_block.lsp j'essaye de modifier deux choses: 1 - ne plus avoir les périmètre 2 - changer l'unité de l'aire J'ai vu sur les différents post que ces questions ont été évoqué et expliqué mais il semble qu'avec la derniere version les solutions expliqué ne fonctionne pas ... 1- " Dans le code de Pline_block, tu supprime ces lignes : ;; Attribut périmètre (mm -> m) long (strcat "%<\\AcObjProp Object(%<\\_ObjId " (itoa id) ">%).Length \\f \"%lu2%pr2%ct8[0.001]\">%" ) et long dans la liste de l'expression : ;; attribution de leur valeur aux attributs (mapcar '(lambda (x y) (vla-put-TextString x y)) (vlax-invoke ref 'GetAttributes) (list nom long aire) )" Y a t'il autre chose à faire parce que j'ai toujours le périmetre 2- pour l'aire je ne retrouve pas les unites comme dans la version précédente merci encore
-
oui effectivement ca aurait été plus compréhensible... Les choses les plus évidentes des fois.... Escusez moi pour le détour Pour le lisp de bonuscad, j'ai un souci de chargement, j'ai enregistré le lisp sous regular_draw et j'ai ce message d'erreur: Commande: ; erreur: type d'argument incorrect: numberp: nil C'est possible d'intégrer le point d'insertion des blocs et les côtes? Bon je crois que j'exagère un peu... je suis déjà très content que ce lisp soit possible
-
je suis en train de tester sur mes fichiers, j'en reviens toujours pas!!!! Il faut rentrer dans les blocs pour les sniper, mais c'est un gain de temps et de précision incroyable
-
C'est incroyable!!! Ca fonctionne superbement bien! Un énorme merci, vous ne pouvez pas vous rendre compte à quel point c'est énorme! Merci encore MERCI, MERCI, MERCI, MERCI, MERCI, MERCI, MERCI,MERCI, MERCI, MERCI, MERCI, MERCI!!! [Edité le 15/6/2007 par blizard]
-
oui c'est exactement ca, c'est à posteriori... En fait pour expliquer un peu plus, je dessine sur autocad presque uniquement en snap parce qu'avec l'accrochage objet il y a trop d'imprecisions, c'est une technique qui marche très bien, seulement je reçois des fois des fichiers ou les imprecisions sont importantes si bien que je dois snaper les lignes et c'est assez long c'est pourquoi je rêve d'un lisp snaper! j'ai essayé le lisp snap-pt: 1 je trace une rectangle 2 je lance le lisp : snapunit 3 " ENTREZ UNE NOUVELLE VALEUR POUR SNAPUNIT (.01,.01)" 4 Je clic sur l'un des sommet de mon rectangle Mon sommet se trouve sur mon snap mais pas les autres, et l'échelle de mon snap à changer X:2.137295526507614 Y:2.877070619494418 a t'il qqchose que je fais de travers? [Edité le 15/6/2007 par blizard]
-
bon, je suis vraiment désolé de ne pas être assez clair... je le tente avec duex images: La première image correspond à une ligne dessinée sans snap La seconde image correspond à ce que je voudrais obtenir automatiquement avec un lisp, c'est à dire la ligne avec chaque sommet sur un point de la grille, l'idée étant que je peux avoir des dizaine de lignes et qu'elles se placent toutes en un clic sur la grille http://img525.imageshack.us/img525/8932/image1eu8.jpg http://img161.imageshack.us/img161/9786/image2jo9.jpg
-
en fait ce que je fais jusquà maintenant consiste à sélectionner le sommet, faire F9 et je replace le point, ca reviens un peu au meme non?
-
je m'interesais particulièrement à cette focntion parce que la modification de la polyligne met à jour automatiquement le texte en son centre. Je ne savais pas qu'il existait cette fonction dans autocad, vous pouvez me dire plus précisément ou c'est s'il vous plait? merci encore
-
oui F9 permet de snaper ces points, c'est à dire que lorsque snap est activé mon pointeur ce déplace uniquement sur ma grille. Ce que je voulais c'était dessiner un carré sans la commande snap, ci bien que les sommets de mon carré sont placé sans tenir compte de la grille et que la commande me resnape tous les sommets, c'est à dire me met les sommets sur ma grille Mon bon c'est probablement impossible, je posais juste la question...
-
merci pour l'aide ca me rends d'énorme service, mais ce lisp fonctionne moyen, celui ci focntionne bien mieux j'ai résolu mon souci de m2 en m² mais j'ai toujours deux chiffres après le virgule. (defun modif_poly(obj rea arg-list) (if (and (vlax-read-enabled-p obj)(vlax-read-enabled-p (vlr-data rea))) ; (vla-put-textstring (vlr-data rea) (rtos (vla-get-area obj))) (vla-put-textstring (vlr-data rea) (strcat (rtos (vla-get-area obj) 2 2) "M2")) (vlr-remove rea) ) ) (defun effacer_pt(obj rea arg-list) (vlax-ldata-delete obj "Patrick_35" (vlr-data rea)) (vlax-ldata-delete (vlr-data rea) "Patrick_35" obj) (vlr-remove rea) ) (defun c:rea(/ n sel_poly sel_text) (while (not sel_poly) (setq sel_poly (car (entsel "\nSélection de la polyligne/spline/cercle : "))) (if sel_poly (if (or (= (cdr (assoc 0 (entget sel_poly))) "POLYLINE") (= (cdr (assoc 0 (entget sel_poly))) "LWPOLYLINE") (= (cdr (assoc 0 (entget sel_poly))) "SPLINE") (= (cdr (assoc 0 (entget sel_poly))) "CIRCLE")) (progn (setq sel_poly (vlax-ename->vla-object sel_poly)) (if (/= (vla-get-objectname sel_poly) "AcDbCircle") (if (= :vlax-false (vla-get-closed sel_poly)) (progn (alert "Cette Polyligne/Spline n'est pas fermée") (setq sel_poly nil) ) ) ) (if sel_poly (if (vlax-ldata-get sel_poly "Patrick_35") (progn (alert "Polyligne/Spline/Cercle déjà associé à un texte") (setq sel_poly nil) ) ) ) ) (progn (alert "Ce n'est pas une Polyligne/Spline/Cercle") (setq sel_poly nil) ) ) ) ) (if sel_poly (progn (while (not sel_text) (setq sel_text (car (entsel "\nSélection du texte : "))) (if sel_text (if (or (= (cdr (assoc 0 (entget sel_text))) "TEXT") (= (cdr (assoc 0 (entget sel_text))) "MTEXT")) (progn (setq sel_text (vlax-ename->vla-object sel_text)) (if (vlax-ldata-get sel_text "Patrick_35") (progn (alert "Texte déjà associé à une Polyligne/Spline/Cercle") (setq sel_text nil) ) ) ) (progn (setq sel_text nil) (alert "Ce n'est pas un texte") ) ) ) ) (if sel_text (progn (vlr-object-reactor (list sel_poly) sel_text '((:vlr-modified . modif_poly)(:vlr-erased . effacer_pt))) (vlr-object-reactor (list sel_text) sel_poly '((:vlr-erased . effacer_pt))) (vlax-ldata-put sel_poly "Patrick_35" sel_text) (vlax-ldata-put sel_text "Patrick_35" sel_poly) ) ) ) ) (princ) ) (defun refaire_reacteurs(/ entp entt n) (vl-load-com) (if (not appli_patrick_35) (progn (setq appli_patrick_35 (ssget "x" (list (cons 102 "{ACAD_XDICTIONARY")))) (if appli_patrick_35 (progn (setq n 0) (while (setq entp (ssname appli_patrick_35 n)) (setq entp (vlax-ename->vla-object entp)) (setq entt (vlax-ldata-get entp "Patrick_35")) (vla-put-textstring entt (strcat (rtos (vla-get-area entp) 2 2) "M²")) (vlr-object-reactor (list entp) entt '((:vlr-modified . modif_poly)(:vlr-erased . effacer_pt))) (vlr-object-reactor (list entt) entp '((:vlr-erased . effacer_pt))) (setq n (1+ n)) ) ) ) ) ) (princ) ) (refaire_reacteurs)
-
Bonjour Vous donnez un peu espoir la... Alors, la résolution qui serait parfaite serait le cm. Effectivement c'est moi qui fait le carré mais sans que je sache si l'emplacement de ces sommets est sur la grille ou pas, et sans que je sache la longueur des arêtes. Le but serait que chaque sommet en executant le lisp se retrouve automatiquement sur un point de ma grille de 1 cm de résolution. Merci encore
