-
Compteur de contenus
2 523 -
Inscription
-
Dernière visite
-
Jours gagnés
23
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Fraid
-
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
J'ai modifié le code vec la fonction getlayer de Gile. -
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
Bah, quand tu importe le csv, tu n'a pas 2 colonnes? Pense bien à mettre la virgule en séparateur. je regarde pour les calques. -
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
Bonjour, Sans vouloir polluer, (vl-load-com) (defun c:tcot ( / acdc txt lay ovtxt csv csvw) (setq acdc (vla-get-activedocument (vlax-get-acad-object)) txt "" lay (getlayer "Choisir un calque") ) (vlax-for obj (vla-get-modelspace acdc) (and (= (vla-get-ObjectName obj) "AcDbAlignedDimension") (= (vla-get-layer obj) lay) (setq ovtxt (vla-get-TextOverride obj)) (setq txt (strcat txt (vl-string-subst "," "*" ovtxt) "\n")) ) ) (if (/= txt "") (progn (setq csv (strcat (getvar 'dwgprefix) "exportcot.csv") csvw (open csv "w")) (write-line txt csvw) (close csvw) (princ (strcat "\n" csv " enregistré")) ) (princ "\nAucune Cote") ) ) -
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
Pas trop, essaye cela ^C^C^P_ai_editcustfile $M=cotdeltaini.lsp;^P Non non, je ne pensais pas cela, c'étais de la taquinerie ..., Par contre j'aurais bien voulu voir ta solution, car j'ai essayé de déduire les pas, mais je me suis perdus à gérer les exceptions dû à un dessin contre intuitif. -
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
Attention, je n'avais pas mis la déclaration des variables à jour. Je l'ai corrigé. -
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
Bonjour, Non, tu as juste à l'éditer comme un fichier texte. Tu n'as pas à le charger Tu tapes juste cotdeltaX Quand tu as un autre réglage tu changes tes valeurs dans cotdeltaini.lsp, tu enregistres Tu tapes cotdeltaX Les nouvelles valeurs sont prises en compte. -
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
oui, a chaque fois que tu lance, il lit les valeurs. -
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
2 fois que je clic mal quand je modifie le code. suis un boulet Regarde bien, au debut cela charge cotdeltaini.lsp et donc pas et jeu -
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
Coucou, pourquoi ne pas nous montrer ton code? C'est secret? -
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
J'ai de nouveau mis à jour le code. Par contre, il faut que tu crée un lisp à coté qui doit s'appeler cotdeltaini.lsp et qui contient ceci : (setq pas 500 jeu 10 ) Tu n'a qu'a modifier à chaque chantier. le dossier ou ce trouve les lisp doit etre inscrit dans les fichiers de support. -
Bonjour, Quelque soit les systèmes utilisés, il y a aussi la solution de séparer le chantier en deux. ça évite de se tirer les cheveux et perdre éventuellement en précision lors de la conversion.
-
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
Nous ne pouvons que t'encourager, vas y, ça vaut le coup. Il y a le site de Didiers, lien juste au dessus, qui est très bien ainsi que celui de Gile Si tu n'as pas peur de l'anglais, j'aime particulièrement the swamp -
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
En attendant, j'ai réduit les deux lisps à 2 commandes et une fonction, c'est plus lispien. -
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
Je pense que si tu partage un dwg cela serais plus facile. Je peux compter le nombre d'élément, mais il faut que je sache comment tu dessine. -
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
mauvais clic désolé, c'est réparé -
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
Coucou, j'ai modifié le code plus haut, il y maintenant cotdeltaX et cotedeltaY. et pour répondre à ta question, c'est à ce niveau dist (- (cadr pt2) (cadr pt1)). ici nous soustrayions les Y des 2 points. -
Routine pour créer une polyligne à partir de points créés avec la fonction Mesurer
Fraid a répondu à un(e) sujet de Sami2601 dans Routines LISP
J'ai modifié le code, il prend en charge les polylignes 3D. Tu as en plus le code d'Oliviers, cela te permet de voir une autre façon. Il y en à plein ... je ne pense pas avoir envisager tous les bugs possibles.. n'hésite pas à le dire, cela profitera à la communauté. En tout cas, bienvenus et bon courage -
Routine pour créer une polyligne à partir de points créés avec la fonction Mesurer
Fraid a répondu à un(e) sujet de Sami2601 dans Routines LISP
Yop, c'est fait, j'ai rajoute - un undomark qui permet de revenir en arrière avec un seul ctrl+Z - un controle du SCU - la question pour effacer la polyligne Pour la 3D, il faut revoir tout le code, -
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
j'ai rajouté la variable jeu. -
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
Bonjour, Un ptit lisp. (defun cotdelta ( xy / pt1 pt2 dist distp div nb pas jeu) (load (findfile "cotdeltaini.lsp")) (setq pt1 (getpoint "\nPremier point:") pt2 (getpoint "\nDeuxième point:") dist (- (nth xy pt2) (nth xy pt1)) distp (- (nth (abs (- xy 1)) pt2) (nth (abs (- xy 1)) pt1)) div (/ distp pas) nb (if (/= div (fix div)) (1+ (fix div))(fix div))) (command "_cotali" pt1 pt2 "te" (strcat (itoa nb) "*" (rtos (- dist jeu) 2 0)) pt2) (princ) ) (defun c:cotdeltaX nil (cotdelta 0)(princ)) (defun c:cotdeltaY nil (cotdelta 1)(princ)) Utilise le style de cote courant. Evidement, si tu étire tes objets, il faudra remplacer la cote. Si tes panneaux on toujours la même hauteur on peut facilement calculer le nombre. -
Routine pour créer une polyligne à partir de points créés avec la fonction Mesurer
Fraid a répondu à un(e) sujet de Sami2601 dans Routines LISP
De rien, j'ai modifié le code pour qu'il supprime les points à la fin. Sinon, j'ai trouvé pratique de créer un calque pour sélectionner facilement les points. Il sautera à la prochaine purge. Veux tu supprimer aussi la polyligne originale? -
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
Peut tu nous montrer un dessin explicatif, pour être sur de ce que tu veux. -
Cotes biaises affichants la valeur delta
Fraid a répondu à un(e) sujet de Manbess dans AutoCAD, liste de souhaits
Bonjour, A part faire un remplacement de texte dans la fenêtre de propriétés manuellement ou en Autolisp, je ne vois pas de solution. -
Bonjour, Peut etre que les utilisateurs d'Autocad Architecture sont passés sur Revit !?
-
Routine pour créer une polyligne à partir de points créés avec la fonction Mesurer
Fraid a répondu à un(e) sujet de Sami2601 dans Routines LISP
Un exemple de lisp, il faut dire que ce n'est pas un exercice de nouveau débutant. ; ANSI-Windows 1252 ; Autolisp ;| segpol.lsp, Segmente une polyligne selon une distance. Testé sur Windows 10 et Autocad 2015 No copyright: (!) 2023 by Frédéric Coulon. No license: Do with it what you want. |; ; Chargement des fonctions VLA/Activex. (vl-load-com) ; getpt3dpol, récupère la liste des points d'une polyligne 2D ou 3D (defun getpt3dpol (ent / n pts) (setq n (1+ (fix (vlax-curve-getEndParam ent)))) (repeat n (setq pts (cons (vlax-curve-getPointAtParam ent (setq n (1- n))) pts))) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun c:segpol ( / acdc clay ce objnam flagscu pol lptpol long pts cpt lpt lpts) (setq acdc (vla-get-activedocument (vlax-get-acad-object)) clay (getvar 'clayer)) ; Point de retour (vla-startundomark acdc) (setq ce (getvar 'cmdecho)) (setvar 'cmdecho 0) ; Controle du SCU (if (= (getvar "worlducs") 0)(setq flagscu (vl-cmdf "_ucs" ""))) ; Séléction de la polyligne. (while (not (wcmatch (setq objnam (cdr (assoc 0 (entget (setq pol (car (entsel "\nSéléctionnez une polyligne"))))))) "*POLYLINE"))) (if pol (progn ; Liste des points de la polyligne. (setq lptpol (getpt3dpol pol) long (getint "\nLongueur des segments: ")) ; Création du calque TMP. (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-item (list layers "TMP" ))) (vla-add (vla-get-layers acdc) "TMP")) ; les points de la commande MESURER sont placés dans le calque TMP. (setvar 'clayer "TMP") (command "_measure" pol long) (setvar 'clayer clay) ; Séléction des points. (if (setq pts (ssget "_x" (list (cons 0 "point")(cons 8 "TMP")))) (progn (setq cpt 0) (while (setq point (ssname pts cpt)) ; Liste des coordonnnées des points. (setq lpt (cons (cdr (assoc 10 (entget point))) lpt) cpt (1+ cpt))) ; Rajout des extrémités de la polyligne. (setq lpt (cons (car lptpol) lpt) lpt (reverse (cons (last lptpol) (reverse lpt)))) ; Formatage de la liste pour vla-AddLightWeightPolyline ou vla-Add3DPoly. (if (= objnam "POLYLINE") (progn (setq lpt (apply 'append (mapcar '(lambda (x)(list (car x) (cadr x) (caddr x))) lpt)) lpts (vlax-make-safearray vlax-vbDouble (cons 0 (- (length lpt) 1)))) (vlax-safearray-fill lpts lpt) ; Dessin de la polyligne 3D (vla-Add3DPoly (vla-get-ModelSpace acdc) lpts) ) (progn (setq lpt (apply 'append (mapcar '(lambda (x)(list (car x) (cadr x))) lpt)) lpts (vlax-make-safearray vlax-vbDouble (cons 0 (- (length lpt) 1)))) (vlax-safearray-fill lpts lpt) ; Dessin de la polyligne (vla-AddLightWeightPolyline (vla-get-ModelSpace acdc) lpts) ) ) ; Efface les points et la polyligne. (initget 1 "Oui Non") (if (eq (getkword "\nSupprimer la polyligne originale? [Oui/Non] <Oui> : ") "Oui") (command "_erase" pts pol "") (command "_erase" pts "")) ) (princ "\nAbandon, vérifiez la longueur des segments.") ) ) (princ "\nAbandon.") ) ; Restauration du SCU. (if flagscu (command "_ucs" "p")) ; Restauration echo (setvar 'cmdecho ce) ; Fin du UndoMark. (if (= 8 (logand 8 (getvar 'UNDOCTL)))(vla-EndUndoMark acdc)) (princ) ) Il faut taper segpol, puis choisir sa polyligne et donner la longueur des segments.
