shergy
Membres-
Compteur de contenus
28 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par shergy
-
Désolé mais je n'ai ni le temps ni le courage en ce moment de faire tout ça pour faire apparaître une image dans mes posts. Si tu n'as pas de solution pour moi, ce n'est pas grave, je te remercie tout de même d'avoir tenté de m'aider ;)
-
j'arrive pas à mettre ces foutus images !! [Edité le 17/5/2011 par shergy]
-
Bonsoir, Pour les surfaces de mes logements j'utilise des tableaux. Or certaines des cellules de ces tableaux n'ont pas de bordures, malgré tout je devrais voire apparaître autour de ces cellules un cadre gris. Sur certains de mes fichiers je vois ce cadre mais pas sur d'autres. J'aurais besoin de votre aide pour pouvoir afficher ce cadre sur tous mes fichiers. Merci par avance pour votre aide. Guillaume
-
Bonsoir, Pour les surfaces de mes logements j'utilise des tableaux. Or certaines des cellules de ces tableaux n'ont pas de bordures, malgré tout je devrais voire apparaître autour de ces cellules un cadre gris. Sur certains de mes fichiers je vois ce cadre mais pas sur d'autres. J'aurais besoin de votre aide pour pouvoir afficher ce cadre sur tous mes fichiers. Merci par avance pour votre aide. Guillaume
-
Bonjour à tous, J'utilise le lisp de Gile (totalarea) pour calculer mes surfaces par pièce, et le lisp LATT de Patrick_35 afin de calculer mes totaux de surfaces pour des logements. Je voudrais savoir s'il est possible de modifier le lisp LATT afin pour qu'il devienne dynamique comme celui de Gile ? Avec TOTALAREA, lorsque l'on modifie une polyligne, la surface du bloc se met à jour automatiquement, est-il possible de faire la même chose avec LATT ? Merci par avance
-
Je comprends tout à fait ta position, pas de souci. Connais-tu d'autres forum sur lesquels je pourrais avoir des renseignements ?
-
Encore une question... Peut-on mettre pour le libellé une liste de noms de pièce sous forme de menu déroulant ?
-
autant pour moi CA MARCHE !!!!! ENCORE MERCI
-
j'ai fais toutes les modifs et je tombe sur ce message : Erreur: type d'argument incorrect: stringp 0.01
-
Je vais essayer ça tout de suite. Dans tous les cas je te remercie beaucoup pour ton aide. Bonnes fêtes de fin d'année.
-
ça marche super. Encore une question. La surface donnée est celle de la polyligne sélectionnée, est-il possible de lier les deux, à savoir lorsque l'on étire le polyligne la surface change de manière dynamique ?
-
Est-il possible de modifier ce code pour que les surfaces données soient arrondies à 0.05m² près ? (defun c:SURF ( / sav_dim sav_lup sav_att zone ent_zone surf_x surf_t surf_1 position) (setvar "CMDECHO" 0) (setq sav_dim (getvar "DIMZIN")) (setq sav_lup (getvar "LUPREC")) (setq sav_att (getvar "ATTDIA")) (setvar "DIMZIN" 0) (setvar "ATTDIA" 0) (if (not precision) (progn (initget 4) (setq precision (getint (strcat "\nEntrer la précision désiré <" (itoa (getvar "LUPREC")) ">: " ) ) ) ) ) (if (not precision) (setq precision (getvar "LUPREC"))) (setvar "LUPREC" precision) (setq surf_t 0.0) (if (not unite) (progn (initget "KM² M² CM² MM²") (setq unite (getkword "\nEntre l'unité utilisé [KM²/M²/CM²/MM²] : ")) ) ) (if (not unite) (setq unite "M²")) (while (setq zone (getpoint "\nPointez dans la zone/: ")) (command "_.-boundary" zone "") (setq ent_zone (entlast)) (command "_area" "_ob" ent_zone) (setq surf_x (getvar "area")) (setq surf_t (+ surf_t (getvar "area"))) (entdel ent_zone) ) ; (if(<(strlen (rtos (rem surf_t (fix surf_t)) 2 precision)) 4) ; (setq surf_1 (strcat (rtos surf_t 2 precision) "0")) (setq surf_1 (rtos surf_t 2 precision )) ; ) (initget 9) (setq position (getpoint "\nPosition du bloc : ")) (command "_.-insert" "surface" position 1 1 0 "" (strcat surf_1 " " unite)) (command "_.eattedit" (entlast)) (setvar "DIMZIN" sav_dim) (setvar "LUPREC" sav_lup) (setvar "ATTDIA" sav_att) (princ) ) ; ==== Création d'un tableau de surface ==== (defun c:TAB ( / sav_dim sav_lup sav_att choix surf_total ht_htx bloc nb_bloc compte position type surface) (setvar "CMDECHO" 0) (cond ((tblsearch "BLOCK" "SURFACE") (setq sav_dim (getvar "DIMZIN")) (setq sav_lup (getvar "LUPREC")) (setq sav_att (getvar "ATTDIA")) (setvar "DIMZIN" 0) (setvar "LUPREC" precision) (setvar "ATTDIA" 0) (initget 7 "Tous Sélection") (setq choix (getkword "\nChoix du calcul avec Bloc [Tous/Sélection] : ")) (setq surf_total 0) (setq ht_txt (cdr (assoc 40 (entget (entnext (cdr (assoc -2 (tblsearch "BLOCK" "SURFACE")))))))) (if (= ht_txt nil) (setq ht_txt (getvar "textsize")) ) (if (= choix "Tous") (setq bloc (ssget "x" (list (cons 0 "INSERT") (cons 2 "SURFACE")))) (progn (princ "\nSélectionnez les blocs SURFACE : ") (setq bloc (ssget (list (cons 0 "INSERT") (cons 2 "SURFACE")))) ) ) (setq nb_bloc (sslength bloc)) (setq compte 0) (if (/= nb_bloc nil) (progn (initget 9) (setq position (getpoint "\nPosition du tableau ; ")) (repeat nb_bloc (if (= (cdr (assoc 2 (entget (ssname bloc compte)))) "surface") (progn (setq type (cdr (assoc 1 (entget (entnext (ssname bloc compte)))))) (setq surface (cdr (assoc 1 (entget (entnext (entnext (ssname bloc compte ))))))) (setq surf_total (+ surf_total (atof surface))) (command "_.-insert" "liste" position 1 1 0 type surface) (setq position (list (car position) (- (cadr position) (* 2.4 ht_txt)))) ) ) (setq compte (1+ compte)) ) (command "_.-insert" "liste" position 1 1 0 "TOTAL" (strcat (rtos surf_total 2 precision) " " unite)) ) ) (setvar "DIMZIN" sav_dim) (setvar "LUPREC" sav_lup) (setvar "ATTDIA" sav_att) ) (T (alert "\nUtiliser d'abord SURF pour définir les surfaces") ) ) (princ) ) (princ "\n==> SURF pour insérer la surface d'une zone / TAB pour créer une liste") (princ)
-
je n'arrive pas à sélectionner d'objet. Quand je clique sur un champ ou un texte il ne se passe rien...
-
Gile, toi qui es un pro du lisp, tu n'aurais pas un petit bout de code permettant de résoudre ce problème ? Merci d'avance [Edité le 29/12/2009 par shergy]
-
D'accord, mais si ta surface initiale avait été de 0.435 l'arrondi aurait été à 0.44 et non à 0.45 comme je le voudrais
-
S'il n'est pas possible d'arrondir la valeur d'un champ, est-il possible de le faire avec un texte ? [Edité le 29/12/2009 par shergy]
-
j'ai trouvé ce code mais il ne propose pas d'arrondir les surfaces. Est-il possible de le modifier ? (vl-load-com) (defun c:Curve ( / js obj AcDoc Space nw_style pt htx rtx unit_key unit_draw dxf_cod n ename ll ur nw_obj lremov) (princ "\nSélectionnez un objet curviligne.") (while (null (setq js (ssget "_+.:E:S" (list '(0 . "*POLYLINE,ARC,CIRCLE,ELLIPSE,HATCH") (cons 67 (if (eq (getvar "CVPORT") 1) 1 0)) (cons 410 (if (eq (getvar "CVPORT") 1) (getvar "CTAB") "Model")) '(-4 . " '(-4 . "&") '(70 . 120) '(-4 . "NOT>") ) ) ) ) (princ "\nCe n'est pas un objet curviligne valable pour cette fonction!") ) (initget 6) (setq htx (getdist (getvar "VIEWCTR") (strcat "\nSpécifiez la hauteur du champ <" (rtos (getvar "TEXTSIZE")) ">: "))) (if htx (setvar "TEXTSIZE" htx)) (if (not (setq rtx (getorient (getvar "VIEWCTR") "\nSpécifiez l'orientation du champ <0.0>: "))) (setq rtx 0.0)) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (if (= 1 (getvar "CVPORT")) (vla-get-PaperSpace AcDoc) (vla-get-ModelSpace AcDoc) ) ) (cond ((null (tblsearch "LAYER" "Id-Surfaces")) (vlax-put (vla-add (vla-get-layers AcDoc) "Id-Surfaces") 'color 3) ) ) (cond ((null (tblsearch "STYLE" "arial")) (setq nw_style (vla-add (vla-get-textstyles AcDoc) "arial")) (mapcar '(lambda (pr val) (vlax-put nw_style pr val) ) (list 'FontFile 'Height 'ObliqueAngle 'Width 'TextGenerationFlag) (list "arial.shx" 0.0 (/ (* 15.0 pi) 180) 1.0 0.0) ) ) ) (if (or (eq (getvar "USERS5") "") (not (eq (substr (getvar "USERS5") 1 2) "qz"))) (progn (initget "KM ME CM MM") (if (not (setq unit_key (getkword "\nDessin réalisé en [KM/ME/CM/MM] : "))) (setq unit_key "ME") ) (cond ((eq unit_key "KM") (setq unit_draw 1000000) ) ((eq unit_key "ME") (setq unit_draw 1000 unit_key "M") ) ((eq unit_key "CM") (setq unit_draw 10) ) ((eq unit_key "MM") (setq unit_draw 1) ) ) (setvar "USERS5" (strcat "qz" (itoa unit_draw))) ) (progn (setq unit_draw (atoi (substr (getvar "USERS5") 3))) (cond ((eq unit_draw 1000000) (setq unit_key "KM") ) ((eq unit_draw 1000) (setq unit_key "M") ) ((eq unit_draw 10) (setq unit_key "CM") ) ((eq unit_draw 1) (setq unit_key "MM") ) ) ) ) (initget "Unique Multiple _Single Multiple") (if (eq (getkword "\nSélection filtrée [unique/Multiple]: ") "Single") (setq n -1) (setq dxf_cod (entget (ssname js 0)) js (ssget "_X" (foreach m (foreach n dxf_cod (if (not (member (car n) '(0 67 410 8 6 62 48 420 70))) (setq lremov (cons (car n) lremov)))) (setq dxf_cod (vl-remove (assoc m dxf_cod) dxf_cod)) ) ) n -1 ) ) (repeat (sslength js) (setq obj (ssname js (setq n (1+ n))) ename (vlax-ename->vla-object obj) ) (vla-GetBoundingBox ename 'll 'ur) (setq ll (safearray-value ll) ur (safearray-value ur) pt (mapcar '* (mapcar '+ ll ur) '(0.5 0.5 0.5)) nw_obj (vla-addMtext Space (vlax-3d-point pt) 0.0 (strcat "%<\\AcObjProp.16.2 Object(%<\\_ObjId " (itoa (vla-get-ObjectID ename)) ">%).Area \\f \"%lu2%pr2%ps[, " (strcase unit_key T) "²]\">%" ) ) ) (mapcar '(lambda (pr val) (vlax-put nw_obj pr val) ) (list 'AttachmentPoint 'Height 'DrawingDirection 'InsertionPoint 'StyleName 'Layer 'Rotation) (list 5 (getvar "TEXTSIZE") 5 pt "arial" "Id-Surfaces" rtx) ) ) (prin1) )
-
existe-t-il un lisp capable de faire ça ?
-
Je sais changer le nombre de décimales. Ce que je veux c'est pouvoir arrondir la valeur d'une surface à 0.05m² près. Avoir 15.25m² au lieu de 15.23m² par exemple. [Edité le 29/12/2009 par shergy]
-
Bonjour à tous, je suis toujours à la recherche d'un lisp me permettant d'arrondir des valeurs dans une table. J'ai automatisé mes tableaux de surfaces, mais mon client veut les arrondir à 0.05m² près et dans autocad 2009 je ne sais pas comment faire. Merci pour votre aide [Edité le 28/12/2009 par shergy]
-
Quelqu'un peut m'aider ???
-
Il s'agit de tableaux autocad dont les champs sont liés à des polylignes de surface. Je voudrais que le résultat affiché soit arrondi à 0.05 m² près (2.55 m² au lieu de 2.53 m²)
-
Bonjour à tous, Je suis actuellement en cours de développement de tableaux de surfaces automatisés pour le calcul de surfaces de logements. Pour réaliser les tableaux je n'ai pas de problèmes. Ma question est la suivante : y a-t-il un moyen pour arrondir les surfaces à 0.05 m² près ? Dans l'idéal je voudrais pouvoir appeler une commande, cliquer sur la ou les cellules à arrondir et c'est tout. Merci d'avance pour votre aide. Guillaume
-
Bonjour à tous, Je suis actuellement en cours de développement de tableaux de surfaces automatisés pour le calcul de surfaces de logements. Pour réaliser les tableaux je n'ai pas de problèmes. Ma question est la suivante : y a-t-il un moyen pour arrondir les surfaces à 0.05 m² près ? Dans l'idéal je voudrais pouvoir appeler une commande, cliquer sur la ou les cellules à arrondir et c'est tout. Merci d'avance pour votre aide. Guillaume
-
Peux tu m'indiquer où je dois poster ?
