capde06
Membres-
Compteur de contenus
619 -
Inscription
-
Dernière visite
-
Jours gagnés
4
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par capde06
-
ca marche très bien dans un SCU et pour le reste il est préférable de créer un style de cote
-
dans ce cas j'utilise la cotation coordonnée _dimordinate
-
bonjours ou est passer la boite de dialogue de la commande "GROUPE" mais en fouillant un peu on s'aperçoit qu'il y a une commande "groupeclassique" je ne vois pas l’intérêt d'une nouvelle commande qui est moins pratique que la classique qu'en pensez vous ?
-
voici ptite moulinette vite fait qui va changer le calque de l'attribut en question (defun c:toto () (setq sel (ssget "x" '((0 . "INSERT") (2 . "BLK_FV_TXVOI*")))) (setq cpt 0 newlay "toto") (repeat (sslength sel) (setq ent (ssname sel cpt)) (upd_blk ent "TOPONYME" 8 newlay) (setq cpt (+ cpt 1)) ) ) (defun upd_blk (obj eti code txt) (setq ent_att (entnext obj)) (while (/= (cdr (assoc 0 (entget ent_att))) "SEQEND") (if (= (cdr (assoc 2 (entget ent_att))) eti) (progn (setq e (entget ent_att)) (entmod (subst (cons code txt) (assoc code e) e)) (entupd obj) ) ) (setq ent_att (entnext ent_att)) ) ) [Edité le 23/5/2011 par capde06]
-
as tu besoin de toutes les valeurs
-
J'ai regardé ton fichier la conversion a crée un bloc a chaque insertion en lisp on peut récupérer les valeurs des attributs - insérer un nouveau bloc qui va bien avec les valeurs d'attribut et le tour et joué encore faut il avoir le temps de le faire
-
désolé j'ai supprimé le lien pour faire quelque modif je le réactive de suite [Edité le 22/5/2011 par capde06]
-
si ca interresse j'ai trouvé cette fonction sur le forum autodesk http://forums.autodesk.com/t5/Visual-LISP-AutoLISP-and-General/Layer-Filter-with-Status/td-p/2210687
-
moi je ferais comme ca (defun c:acier11 () (setq nbr11 (getint "/n donner nombre acier")) (command "diviser" (pause) "B" "cercle" "O" nbr11) )
-
d1 est une distance le premier argument de la commande "diviser" doit designer un objet
-
fonction startapp exp: (startapp "notepad.exe" nom_fichier)
-
je me suis fait mal comprendre je voulais parler des filtres qu'il y a dans la fenêtre du gestionnaire de calques "ACAD_LAYERFILTERS"
-
bonjour a tous je galère depuis un moment . voila dans un programme je n'arrive pas à créer un filtre de calque de ce genre la : *toto* si vous avez la solution... d'avance merci
-
je pense que la saisie dynamique est activée F12 soit tu l'as désactive soit en utilisant la touche tabulation tu choisie quelle valeur modifier
-
dans ce cas moi , j'ouvre 2 autocad un a gauche l'autre a droite
-
la commande renommer accepte les caractères génériques caractère de remplacement * donc 3944-DCE-LUSTRERIE LOT13$0$* dans la case nouveau nom: * et tous les blocs sont renommés j'ai fais une moulinette ya longtemps a tester ren_pl renomme les calques ren_blk renomme les blocs ca renomme jusqu'au caractère $ donc a lancer plusieurs fois (defun c:ren_pl() (command "purger" "to" "" "n") (command "annuler" "m") (setq lpl nil) (setq lpl (cons (cdr (assoc 2 (tblnext "layer" T))) lpl)) (while (setq X (cdr (assoc 2 (tblnext "layer")))) (setq lpl (cons X lpl)) ) (setq lpl (acad_strlsort lpl)) (setq ll (length lpl)) (setq x 0) (repeat ll (setq pl (nth x lpl)) (if (= (type (findstr pl "$")) 'INT) (progn (setq newname (substr pl (+ (findstr pl "$")1))) (if (= (type(member newname lpl)) 'LIST) (command "-renommer" "ca" pl (strcat newname "_1")) (command "-renommer" "ca" pl newname) ) (princ "\n")(princ pl)(princ " ")(princ newname) ) ) (setq x (+ x 1)) ) ) (defun c:ren_blk() (command "annuler" "m") (setq lpl nil) (setq lpl (cons (cdr (assoc 2 (tblnext "block" T))) lpl)) (while (setq X (cdr (assoc 2 (tblnext "block")))) (setq lpl (cons X lpl)) ) (setq lpl (acad_strlsort lpl)) (setq ll (length lpl)) (setq x 0) (repeat ll (setq pl (nth x lpl)) (if (= (type (findstr pl "$")) 'INT) (progn (setq newname (substr pl (+ (findstr pl "$")1))) (if (/= "0" newname) (progn (if (= (type(member newname lpl)) 'LIST) (command "-renommer" "bl" pl (strcat newname "_1")) (command "-renommer" "bl" pl newname) ) (princ "\n")(princ pl)(princ " ")(princ newname) ) ) ) ) (setq x (+ x 1)) ) (princ) ) (defun Findstr (Cha Cart / Ind Fin) (setq Ind 0) (while (and (/= Fin Cart) (<= Ind (- (strlen Cha) (strlen Cart)))) (setq Ind (1+ Ind)) (setq Fin (substr Cha Ind (strlen Cart))) ) (if (= Fin Cart) Ind "Non touvé" ) ) [Edité le 8/4/2011 par capde06]
-
merci je pense avoir trouvé le probleme dans le fichier que je dois inserer il y a la ligne INTERROMPU2 si dans le fichier dans lequel je l'insere ce type de ligne n'existe pas, le facteur d'echelle n'est pas bon meme si toutes les variables cité plus haut sont identiques j'ai donc chargé le type de ligne avant d'inserer le fichier, est la tout va bien mystere bisarre mais ca marche les voies d'autodesk sont impénétrables
-
bonjour a tous problème sur un dessin j'utilise le type de ligne interrompu2 toutes les variables sont à 1 ltscale celtype celtscale psltscale echltp inserts le dessin dans un autre et la, les espacements de la ligne sont dix fois plus petit pourtant toutes les variables sont à 1 et sur une autre xref tout va bien y a t'il une autre variable qui gère le problème. merci
-
bonjour a tous problème sur un dessin j'utilise le type de ligne interrompu2 toutes les variables sont à 1 ltscale celtype celtscale psltscale echltp inserts le dessin dans un autre et la, les espacements de la ligne sont dix fois plus petit pourtant toutes les variables sont à 1 et sur une autre xref tout va bien y a t'il une autre variable qui gère le problème. merci
-
tu peux faire comme ca (+ 10 10)
-
pour ppasser en majuscule $(upper, $(substr,$(getvar, dwgname),16,$(-,$(strlen,$(getvar,dwgname)),19)))
-
oups je viens de tester avec un champ et ca marche command CHAMP menu déroulant "autre" ExpressionDiesel $(substr, $(getvar, dwgname),5) et ca marche
-
je n'ai jamais réussi a faire ca avec des champs mais avec la commande RTEXT du menu express ca marche tres bien commande rtext option diesel rtext D $(substr, $(getvar, dwgname),5)
-
(/ 0.315 2) (* 0.315 2) entre parenthèse
-
quand j'ai fais ca je devais décaler toujours les même valeurs au d'un moment ca gonfle alors voila une commande "decaler" avec mémoire a tester (defun c:dcc (/ ent pt what_next) (setq what_next 2) (if (not dec) (setq dec "1.00") ) (if (not dclist) (setq dclist '("0.10" "0.20" "0.30" "0.40" "0.50" "0.52" "0.60" "0.70" "1.00")) ) (while (>= what_next 2) (setq id_dcl (load_dialog "choixdc.dcl")) (if (not (new_dialog "CHOIXDC" id_dcl)) (exit) ) (set_tile "dc_selec" dec) (setq dclist (acad_strlsort dclist)) (start_list "dcselec") (mapcar 'add_list dclist) (end_list) (action_tile "dcselec" "(dcc3)") (action_tile "dc_selec" "(dcc2)") (action_tile "dellist" "(dcc1)") (action_tile "cancel" "(exit)") (action_tile "pick" "(done_dialog 4)") (setq what_next (start_dialog)) (cond ((= what_next 4) (initget 64) (setq dist (rtos (getdist "\nDistance :") 2 2)) (if (= (member dist dclist) nil) (setq dclist (cons dist dclist)) ) (set_tile "dc_selec" (setq dec dist)) (setq what_next 2) ) ) ) ;fin while (unload_dialog id_dcl) (setq ent (car (entsel "\nChoix de l'objet à decaler :"))) (setq pt (getpoint "\nCoté a decaler :")) (command "decaler" (atof dec) ent pt) (princ) ) (defun dcc1 () (setq dclist '("1.00")) (start_list "dcselec") (mapcar 'add_list dclist) (end_list) ) (defun dcc2 () (setq dec $value) (if (= (member dec dclist) nil) (setq dclist (cons dec dclist)) ) (setq what_next 2) ) (defun dcc3 () (setq dec (nth (atoi $value) dclist)) (set_tile "dc_selec" dec) (setq what_next 2) ) ;;;partie a copier de un fichier CHOIXDC.DCL CHOIXDC:dialog {label = "Valeur du décalage"; :button{label="Effacer la liste";key="dellist" ;width=5;} :boxed_column{alignment = centered;width = 25;fixed_width = true;spacer; :list_box{label = "décalage";key = "dcselec";fixed_width = true;width = 25;height = 10;list = dclist;} :button{label="Pick >";key="pick" ;width=5;} :edit_box{label="Décalage";key="dc_selec";edit_width=10;} spacer; } ok_cancel; }
