PHILPHIL
Membres-
Compteur de contenus
1 256 -
Inscription
-
Dernière visite
-
Jours gagnés
10
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par PHILPHIL
-
bonjour est ce que ton texte ou mtext est "annotative " ?? car avec ca j'ai des problemes ca reduit les textes est ce que tu arrives a ces questions la ?? Commande: alt ENTRER LE PLAN DE PROJECTION (X) (Y) (XY) ACTUELLEMENT : ENTRER LA VALEUR DU DECALAGE DE TEXTE SUR X DESIRE <0.00000000>: ENTRER LA VALEUR DU DECALAGE DE TEXTE SUR Y DESIRE <0.00000000>: VOULEZ VOUS FAIRE DES COPIES DU TEXTE OU MTEXT ( OUI / NON ) : SELECTIONNER LE(S) TEXTE(S) A MODIFIER : Choix des objets: Spécifiez le coin opposé: 6 trouvé(s) Choix des objets: ENTRER LE POINT DE REFERENCE POUR L'ALIGNEMENT : as tu acces au fichier AutoCAD.cfg par autocad ?? au acad2008.cfg acad2007.cfg a+ phil
-
Bonjour c'est pas du visual LISp pas de boite de dialogue mais ca marche et plus rapide que la boite des proprietes l'alignement est incremente sur X ou Y ou XY si la valeur de decalage est different de zero phil --------------------------------------------------- ; ALIGNEMENT DES TEXT MTEXT AVEC POSSIBILITE DE COPIE ; --------------------------------------------------- (defun C:ALT (/ ENTX) (setvar "cmdecho" 0) (setq COPIETEXT (getcfg "APPDATA/COPIETEXT")) (setq TYPEALGN (getcfg "APPDATA/TYPEALGN")) (setq DALTX (atof (getcfg "APPDATA/DALTX"))) (setq DALTY (atof (getcfg "APPDATA/DALTY"))) (initget "X Y XY") (setq TMP (getkword (strcat "\nENTRER LE PLAN DE PROJECTION (X) (Y) (XY) ACTUELLEMENT <" TYPEALGN "> : "))) (if TMP (setq TYPEALGN TMP) ) (setq TMP1 (getdist (strcat "\nENTRER LA VALEUR DU DECALAGE DE TEXTE SUR X DESIRE <" (rtos DALTX 2 8) ">: "))) (if TMP1 (setq DALTX TMP1) ) (setq TMP1 (getdist (strcat "\nENTRER LA VALEUR DU DECALAGE DE TEXTE SUR Y DESIRE <" (rtos DALTY 2 8) ">: "))) (if TMP1 (setq DALTY TMP1) ) (initget "oui OUI non NON") (setq TMP (getkword (strcat "\nVOULEZ VOUS FAIRE DES COPIES DU TEXTE OU MTEXT ( OUI / NON ) <" COPIETEXT "> : ") ) ) (if TMP (setq COPIETEXT TMP) ) (setq ENTX NIL) (prompt "\nSELECTIONNER LE(S) TEXTE(S) A MODIFIER :") (while (null ENTX) (setq ENTX (ssget (list (cons -4 "")))) ) (setq POINTREF (getpoint (strcat "\nENTRER LE POINT DE REFERENCE POUR L'ALIGNEMENT : "))) (setq XPOINTREF (car POINTREF)) (setq YPOINTREF (cadr POINTREF)) (if (or (= COPIETEXT "oui") (= COPIETEXT "OUI")) (command "COPIER" ENTX "" "0,0" "0,0") ) (setq COMPT 0) (setq COM (sslength ENTX)) (while (< COMPT COM) (progn (setq ENT (entget (ssname ENTX COMPT))) (if (= (cdr (assoc 0 ENT)) "TEXT") (setq CLEF72 (cdr (assoc 72 ENT)) CLEF73 (cdr (assoc 73 ENT)) ) (setq CLEF72 0 CLEF73 0 ) ) (if (and (= CLEF72 0) (= CLEF73 0)) (progn (if (= TYPEALGN "X") (if (= DALTX 0) (setq ENT (subst (cons 10 (list (car (cdr (assoc 10 ENT))) YPOINTREF 0)) (assoc 10 ENT) ENT)) (setq ENT (subst (cons 10 (list (+ XPOINTREF (* COMPT DALTX)) YPOINTREF 0)) (assoc 10 ENT) ENT)) ) ) (if (= TYPEALGN "Y") (if (= DALTY 0) (setq ENT (subst (cons 10 (list XPOINTREF (cadr (cdr (assoc 10 ENT))) 0)) (assoc 10 ENT) ENT)) (setq ENT (subst (cons 10 (list XPOINTREF (- YPOINTREF (* COMPT DALTY)) 0)) (assoc 10 ENT) ENT)) ) ) (if (= TYPEALGN "XY") (setq ENT (subst (cons 10 (list (+ XPOINTREF (* COMPT DALTX)) (- YPOINTREF (* COMPT DALTY)) 0)) (assoc 10 ENT) ENT ) ) ) ) (progn (if (= TYPEALGN "X") (if (= DALTX 0) (setq ENT (subst (cons 11 (list (car (cdr (assoc 11 ENT))) YPOINTREF 0)) (assoc 11 ENT) ENT)) (setq ENT (subst (cons 11 (list (+ XPOINTREF (* COMPT DALTX)) YPOINTREF 0)) (assoc 11 ENT) ENT)) ) ) (if (= TYPEALGN "Y") (if (= DALTY 0) (setq ENT (subst (cons 11 (list XPOINTREF (cadr (cdr (assoc 11 ENT))) 0)) (assoc 11 ENT) ENT)) (setq ENT (subst (cons 11 (list XPOINTREF (- YPOINTREF (* COMPT DALTY)) 0)) (assoc 11 ENT) ENT)) ) ) (if (= TYPEALGN "XY") (setq ENT (subst (cons 11 (list (+ XPOINTREF (* COMPT DALTX)) (- YPOINTREF (* COMPT DALTY)) 0)) (assoc 11 ENT) ENT ) ) ) ) ) (entmod ENT) (setq COMPT (1+ COMPT)) ) ) (setcfg "APPDATA/COPIETEXT" COPIETEXT) (setcfg "APPDATA/TYPEALGN" TYPEALGN) (setcfg "APPDATA/DALTX" (rtos DALTX 2 8)) (setcfg "APPDATA/DALTY" (rtos DALTY 2 8)) (princ) ) [Edité le 16/11/2007 par PHILPHIL]
-
justification de texte mtext par boite de dialogue
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Routines LISP
ok merci ca marche avec tous les LISp que tu as fait a droite a guauche suivant les demande tu peux completer ta propre liste sur ta page non ??? ca doit en interesser d'autres phil -
justification de texte mtext par boite de dialogue
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Routines LISP
SALUT GILE ca marche tres bien c'est la fonction des express tools "TJUST" qui permet de rejustifier les "texte" "mtext" sans qu'ils ne bougent a+ phil -
justification de texte mtext par boite de dialogue
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Routines LISP
loll ouiiiii la fenetre de propriete le fait a+ phil -
justification de texte mtext par boite de dialogue
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Routines LISP
SALUT GILE merci je viens de tester petit soucis le fait de changer la justification du texte ou mtext change la position du texte ou mtxt contrairement a la fonction"justifiertexte" est un parametre autocad a changer ?? mais il y a peut etre une piste a suivre certains voudront peut etre bouger le texte en fonction de la justification et d'autre seulement changer la justification du texte sans le bouger ca a son importance une fois que le "mtext" a un ou des "leader" avec les "radio_button" dans le DCL il y a un truc bizarre on peut cocher trois boutons a la fois un par collone repasser avec de "button" serait plus simple et pratique et plus rapide un seul clic sur le bon bouton sans passer par le bouton "ok" bonne journée phil -
tous les attributs d\'un bloc
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Pour aller plus loin en LISP
salut gile ne cherche plus j'ai trouvé c'est nettement moins pointu que les vlax vla vlx mais ca marche dans tous les sens et apres remaniment on doit surement pouvoir faire une boucle pour plusieurs bloc a la fois merci a toi pour les bouts de LISP phil (defun C:GAP2 (/ LST) ;;; (and (setq SOURCE (car (entsel "\nBloc source: "))) (command "scu" "") (setq LST (GETATT SOURCE)) (setq P1 (cdr (assoc 10 (entget SOURCE)))) (setq ANGLE1 (cdr (assoc 50 (entget SOURCE)))) (command "INSERER" "c:/program files/AA2008/PERSO/bibliotheque/SYMBOLE/ [surligneur] cotnivG[/surligneur]" P1 (rtos (/ (* 0.01 TXTECH) TECHL) 2 8) "" (angtos ANGLE1 0 8) ) (setq CIBLE (entlast)) (PUTATT CIBLE LST) (command "effacer" SOURCE) (princ) ) ;; GETATT ;; Retourne une liste d'association des attribut du bloc ;; ;; Argument ;; bl : la référence de bloc (ename ou vla-object) ;; ;; Retour ;; une liste d'association du type : ((etiquette . valeur) ...) (defun GETATT (BL) (vl-load-com) (or (= (type BL) 'VLA-OBJECT) (setq BL (vlax-ename->vla-object BL))) (if (and (= (vla-get-objectname BL) "AcDbBlockReference") (= (vla-get-hasattributes BL) :vlax-true)) (mapcar (function (lambda (X) (cons (vla-get-tagstring X) (vla-get-textstring X)))) (vlax-invoke BL 'GETATTRIBUTES) ) ) ) ;; PUTATT ;; Donne les valeurs de la liste aux attributs du bloc ;; ;; Arguments ;; bl : la référence de bloc (ename ou vla-object) ;; lst : une liste d'association du type : ((etiquette . valeur) ...) ;; ;; Retour ;; une liste d'association du type des attributs traités (defun PUTATT (BL LST / ATT RET) (vl-load-com) (or (= (type BL) 'VLA-OBJECT) (setq BL (vlax-ename->vla-object BL))) (if (and (= (vla-get-objectname BL) "AcDbBlockReference") (= (vla-get-hasattributes BL) :vlax-true)) (mapcar (function (lambda (X) (if (setq ATT (assoc (vla-get-tagstring X) LST)) (progn (vla-put-textstring X (cdr ATT)) (setq RET (cons ATT RET))) ) ) ) (vlax-invoke BL 'GETATTRIBUTES) ) ) RET ) -
bonsoir j'ai un petit LISp qui me permet de justifier les textes mtext par une boite de dialogue rapide avec des gros boutons il est pas moi ca c'est sur il marchait bien sous 2005 2006 mais ne fonctionne plus ou est le bug ??? ;//Elise Moss ;//Moss Designs ;//12/30/98 ;//18-04-2001 PBO ;//www.mossdesigns.com ;// ; *** JUSTIFY1.LSP *** ; ; Changes the justification of text to:- ; Left, Center, Right, Aligned, Middle, Fit, ; Bottom left, center or right, ; Middle left, center or right, OR ; Top left, center of right ; (defun C:JU (/ ;;; a a1 a2 a3 a4 t1 m n p1 p q n1 j j0 n2 j1 j2 q1 index dummy ) (setvar "cmdecho" 0) ;;;(graphscr) (prompt "\n * SELECTIONNER LE TEXTE POUR CHANGER LA JUSTIFICATION...") (setq T1 (ssget)) (setq NUM (load_dialog "justify2.dcl")) (new_dialog "justify" NUM) (set_tile "L" "1") (action_tile "accept" "(do_getent)(done_dialog)") (start_dialog) (DO_CHANGE) ) (defun DO_GETENT () (if (= "1" (get_tile "L")) (setq J1 "L") ) (if (= "1" (get_tile "C")) (setq J1 "C") ) (if (= "1" (get_tile "R")) (setq J1 "R") ) (if (= "1" (get_tile "TL")) (setq J1 "TL") ) (if (= "1" (get_tile "TC")) (setq J1 "TC") ) (if (= "1" (get_tile "TR")) (setq J1 "TR") ) (if (= "1" (get_tile "ML")) (setq J1 "ML") ) (if (= "1" (get_tile "MC")) (setq J1 "MC") ) (if (= "1" (get_tile "MR")) (setq J1 "MR") ) (if (= "1" (get_tile "BL")) (setq J1 "BL") ) (if (= "1" (get_tile "BC")) (setq J1 "BC") ) (if (= "1" (get_tile "BR")) (setq J1 "BR") ) ) (defun DO_CHANGE () (setq M (sslength T1) INDEX 0 ) (repeat M (setq A (entget (ssname T1 INDEX)) P (cdr (assoc 0 A)) ) (if (= P "TEXT") (progn (setq J (assoc 72 A) J2 (assoc 73 A) P (assoc 10 A) Q (assoc 11 A) J0 (cdr J) ) (if (or (= J1 "L") (= J1 "C") (= J1 "R") (= J1 "M") (= J1 "BL") (= J1 "BC") (= J1 "BR") (= J1 "ML") (= J1 "MC") (= J1 "MR") (= J1 "TL") (= J1 "TC") (= J1 "TR") ) (if (= J0 0) (progn (setq P1 (cdr P) Q1 (cons (car Q) P1) N1 (subst Q1 Q A) ) ) (progn (setq Q1 (cdr Q) P1 (cons (car P) Q1) N1 (subst P1 P A) ) ) ) ) (cond ((= J1 "L") (setq N (subst '(72 . 0) J N1)) (setq N (subst '(73 . 0) J2 N))) ((= J1 "C") (setq N (subst '(72 . 1) J N1)) (setq N (subst '(73 . 0) J2 N))) ((= J1 "R") (setq N (subst '(72 . 2) J N1)) (setq N (subst '(73 . 0) J2 N))) ((= J1 "BL") (setq N (subst '(72 . 0) J N1)) (setq N (subst '(73 . 1) J2 N))) ((= J1 "BC") (setq N (subst '(72 . 1) J N1)) (setq N (subst '(73 . 1) J2 N))) ((= J1 "BR") (setq N (subst '(72 . 2) J N1)) (setq N (subst '(73 . 1) J2 N))) ((= J1 "MC") (setq N (subst '(72 . 1) J N1)) (setq N (subst '(73 . 2) J2 N))) ((= J1 "ML") (setq N (subst '(72 . 2) J N1)) (setq N (subst '(73 . 2) J2 N))) ((= J1 "MR") (setq N (subst '(72 . 0) J N1)) (setq N (subst '(73 . 2) J2 N))) ((= J1 "TL") (setq N (subst '(72 . 0) J N1)) (setq N (subst '(73 . 3) J2 N))) ((= J1 "TC") (setq N (subst '(72 . 1) J N1)) (setq N (subst '(73 . 3) J2 N))) ((= J1 "TR") (setq N (subst '(72 . 2) J N1)) (setq N (subst '(73 . 3) J2 N))) ) (entmod N) ) ) (if (= P "MTEXT") (progn (setq J (assoc 71 A)) (cond ((= J1 "BL") (setq N (subst '(71 . 7) J A))) ((= J1 "BC") (setq N (subst '(71 . 8) J A))) ((= J1 "BR") (setq N (subst '(71 . 9) J A))) ((= J1 "ML") (setq N (subst '(71 . 6) J A))) ((= J1 "MC") (setq N (subst '(71 . 5) J A))) ((= J1 "MR") (setq N (subst '(71 . 4) J A))) ((= J1 "TL") (setq N (subst '(71 . 1) J A))) ((= J1 "TC") (setq N (subst '(71 . 2) J A))) ((= J1 "TR") (setq N (subst '(71 . 3) J A))) ) (entmod N) ) ) (if (= P "ATTDEF") (progn (setq J (assoc 72 A) J2 (assoc 73 A) P (assoc 10 A) Q (assoc 11 A) J0 (cdr J) ) (if (or (= J1 "L") (= J1 "C") (= J1 "R") (= J1 "M") (= J1 "BL") (= J1 "BC") (= J1 "BR") (= J1 "ML") (= J1 "MC") (= J1 "MR") (= J1 "TL") (= J1 "TC") (= J1 "TR") ) (if (= J0 0) (progn (setq P1 (cdr P) Q1 (cons (car Q) P1) N1 (subst Q1 Q A) ) ) (progn (setq Q1 (cdr Q) P1 (cons (car P) Q1) N1 (subst P1 P A) ) ) ) ) (cond ((= J1 "L") (setq N (subst '(72 . 0) J N1)) (setq N (subst '(73 . 0) J2 N))) ((= J1 "C") (setq N (subst '(72 . 1) J N1)) (setq N (subst '(73 . 0) J2 N))) ((= J1 "R") (setq N (subst '(72 . 2) J N1)) (setq N (subst '(73 . 0) J2 N))) ((= J1 "BL") (setq N (subst '(72 . 0) J N1)) (setq N (subst '(73 . 1) J2 N))) ((= J1 "BC") (setq N (subst '(72 . 1) J N1)) (setq N (subst '(73 . 1) J2 N))) ((= J1 "BR") (setq N (subst '(72 . 2) J N1)) (setq N (subst '(73 . 1) J2 N))) ((= J1 "MC") (setq N (subst '(72 . 1) J N1)) (setq N (subst '(73 . 2) J2 N))) ((= J1 "ML") (setq N (subst '(72 . 2) J N1)) (setq N (subst '(73 . 2) J2 N))) ((= J1 "MR") (setq N (subst '(72 . 0) J N1)) (setq N (subst '(73 . 2) J2 N))) ((= J1 "TL") (setq N (subst '(72 . 0) J N1)) (setq N (subst '(73 . 3) J2 N))) ((= J1 "TC") (setq N (subst '(72 . 1) J N1)) (setq N (subst '(73 . 3) J2 N))) ((= J1 "TR") (setq N (subst '(72 . 2) J N1)) (setq N (subst '(73 . 3) J2 N))) ) (entmod N) ) ) (setq INDEX (+ INDEX 1)) ) (prin1) (princ " Changed ") (princ INDEX) (princ " text lines.") (princ) ) boite de dialogue si les boutons pouvait etre sur 4 lignes au lieux de 12 et sans avoir besoin du bouton ok // JUSTIFY2.DCL // AutoLISP Dialog Box Program Menu justify : dialog { label = "JUSTIFICATION DU TEXTE"; : boxed_radio_column { label = "Please Select Menu Item...."; width = 70; : button { alignment = left; fixed_width = true; label = "HAUT GAUCHE"; key = "TL"; } : button { alignment = centered; fixed_width = true; label = "HAUT CENTRE"; key = "TC"; } : button { alignment = right; fixed_width = true; label = "HAUT DROITE"; key = "TR"; } : button { alignment = left; fixed_width = true; label = "MILIEU GAUCHE"; key = "MR"; } : button { alignment = centered; fixed_width = true; label = "MILIEU CENTRE"; key = "MC"; } : button { alignment = right; fixed_width = true; label = "MILIEU DROITE"; key = "ML"; } : button { alignment = left; fixed_width = true; label = "GAUCHE"; key = "L"; } : button { alignment = centered; fixed_width = true; label = "CENTRE"; key = "C"; } : button { alignment = right; fixed_width = true; label = "DROITE"; key = "R"; } : button { alignment = left; fixed_width = true; label = "BAS GAUCHE"; key = "BL"; } : button { alignment = centered; fixed_width = true; label = "BAS CENTRE"; key = "BC"; } : button { alignment = right; fixed_width = true; label = "BAS DROITE"; key = "BR"; } // : boxed_column { // label = "POINT D'INSERTION"; // key = "BR"; // } } spacer; ok_cancel; } [Edité le 12/11/2007 par PHILPHIL] [Edité le 12/11/2007 par PHILPHIL]
-
tous les attributs d\'un bloc
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Pour aller plus loin en LISP
SALUT GILE appareemnt ca ne devait pas etre plus simple de l'exprimer ainsi car ca ne marche pas les 3 attrubuts se retrouve sous la ligne d'axe dsl je trouve pas le moyen de mettre une image pour te montrer ici je viens de te l'envoyer par mail mettre le nouveau bloc a 180 degre par raport au scu ne reglera pas le probleme pour des blocs dont la symetrie a été faite par rapport a un autre axe non parrallele a X bonne soirée phil -
tous les attributs d\'un bloc
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Pour aller plus loin en LISP
salut gile merci pour le lisp j'ai charge "getblock" aussi ca ne marche pas je peux t'envoyer un fichier ca sera nettement plus clair phil -
tous les attributs d\'un bloc
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Pour aller plus loin en LISP
SALUT patrick je viens de tester ton lisp RBLOC pas mal si on reste tjrs dans le meme scu mon souci est que je fais des miroir des blocs possedant des attributs aussi bien miroir par rapport a l'axe X que Y donc je me retrouve avec des blocs echx = 1, echy =1 et d'autre x=-1 , y=1 je voudrais tout remettre x=1, y=1 j'ai essayer avec MIRRTEXT = 0 ou = 1 les attributs sont soit tournés soit refltés et ne sont donc plus lisible en tournant le scu le but serait non pas de remplacer l'atome N°2 ( nom du bloc) du bloc par un nouveau nom d'atome mais bien de replacer un nouveau bloc tourner convenablement par rapport au scu choisi a l'origine de l'ancien bloc récuperer les attributs et les réinjecter dans le nouveau pour etre sur que les textes soit lisible pas sur que j'ai été comprehensible la je peux envoyer un fichier pour etre plus clair phil -
tous les attributs d\'un bloc
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Pour aller plus loin en LISP
merci beaucoup pour les LISP il me reste juste a les comprendre mais ca marche d'enfer manipuler les deux lisp pour en faire un autre selection du bloc1 recuperations des attributs bloc1 point dinsertion bloc1 insetion bloc2 au meme point que bloc1 suppression bloc1 remplacement des atributs de bloc2 par la liste de attributs bloc1 ni vu ni connu on ne clique que une fois ha si souci les blocs on un fonction de visibilite car blocs parametrique vla-get-textstring ou trouve t'on l'aide pour cette fonction ??? elle n'est pas dans "ACAD_ALR.CHM si je comprend bien il y un "vla-get... " et un vla-put" pour chaque sous entite "vla-get-layer" ...... oui ? voir fichier aide ok j'irais voir PHIL [surligneur] SELECTIONNER UNE ENTITE POUR INFO1.; IAcadLine: Interface AutoCAD Line ; Valeurs de propriétés: ; Angle (RO) = 0.0 ; Application (RO) = # ; Delta (RO) = (100.0 0.0 0.0) ; Document (RO) = # ; EndPoint = (50.0 0.0 0.0) ; Handle (RO) = "11D8F" ; HasExtensionDictionary (RO) = 0 ; Hyperlinks (RO) = # ; Layer = "C_AXES" ; Length (RO) = 100.0 ; Linetype = "ByLayer" ; LinetypeScale = 1.0 ; Lineweight = -1 ; Material = "ByLayer" ; Normal = (0.0 0.0 1.0) ; ObjectID (RO) = 2126492024 ; ObjectName (RO) = "AcDbLine" ; OwnerID (RO) = 2126491688 ; PlotStyleName = "ByLayer" ; StartPoint = (-50.0 0.0 0.0) ; Thickness = 0.0 ; TrueColor = # type d'argument incorrect: VLA-OBJECT nilColor 20319680> ; Visible = -1[/surligneur] -
bonjour sujet surement deja evoqué ici mais OU ?? mystere je voudrais récuperer toutes les valeurs des attributs d'un bloc ( ils seront surement récuper dans une liste et tjrs rangés dans le meme ordres , je ferais le tri ) pour les réinjecter dans un autre bloc meme nom d'attributs voir pour inserer un nouveau bloc avec les valeurs d'attributs recuperer car probleme d'orientation des texte avec les symetries et bloc parametriques merci phil
-
salut ca reste mon opinion et elle est surement a debatre je ne sais pas il est vrai si c'est trier un fichier que tu viens de recevoir ou pour debuter ta propre base fichier et commencer a dessiner mais dans ton fichier vouloir faire le trie par type de ligne et par type de couleur et vouloir supprimer le maximum de calque enleverra beaucoup d'interet je trouve car si tu dois par la suite donne ton fichier a une autre personne il ne saura pas ce que tu as dessine ne sachant pas se referer a ton code couleur ou ton code type de ligne alors que un calque avec un nom explicite , une couleur , un type de ligne et surtout des entites "non forcees" bien rangées par calque permet de faire vite fait le tri les murs calque murs les portes calque portes facile jusque la les poutres de dessous un calque la superstructure de dessus un calque les menuiseries en tirets a prevoir mais que l'on ne construit pas j'en passe et des meilleurs ..... bonne journée de rangement phil
-
bonjour est ce que vous avez des articles ou infos precise a lire concernant les performance de autocad ou autodesk architecture plutot et les multicoeurs ? on gros je voudrai savoir si autocad / autodesk architecture tire parti des multicoeurs ou pas faut que je change de becanne station de travail marre que ca rame un xeon derniere generation serie 5*** ou un core 2 quad ?? je trouve pas les difference de performance entre ses deux processurs merci phil
-
SALUT GILE merci pour la mise a jour petit souci quand meme pour les objet en courbe j'ai droit a ca comme réponse de la part de autocad et pas de wipeout correspondant aux objet courbes par contre pour les objet en "lignes" pas de souci Choix des objets: [surligneur] Effacer les objets source ? [Oui/Non] : *Annuler* impossible de trouver l'ID de l'objet: nil[/surligneur] a+ phil
-
salut gile tres tres bon tes LISP y'a moyen d'avoir une evolution pour le LISp obj2wipeout ??? que le wipeout soit dans le meme calque que l'objet selectionné ou que l'on puisse selectionner plusieurs objets a la fois heuu et les deux a la fois ?? possible ?? car je suis carrement "out" quand il sagit de LISp en "vlax vl ..." merci gile phil
-
RE ASSOCIATION DE HACHURAGE
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Suggestions de développements
oupss programme incomplet ;;; --------------------------------------------- ;;; REMPLIT PAR UN HACHURAGE LES POLYLIGNES FERMEE ;;; --------------------------------------------- (defun C:HAC2 (/) (setvar "cmdecho" 1) (setvar "dimzin" 0) (setq CAV (getvar "clayer")) (setq OSM (getvar "osmode")) (setvar "osmode" 0) (setq TYPEHACH (getcfg "APPDATA/TYPEHACH")) (setq ECHELHACH (atof (getcfg "APPDATA/ECHELHACH"))) (setq ANGLHACH (atof (getcfg "APPDATA/ANGLHACH"))) (setq CALQUEHACH2 (getcfg "APPDATA/Tcalq2")) (setq CALQUEHACH NIL) (princ "\n") (princ "\n") (setq S1 (getstring t "\nVOULEZ VOUS SELECTIONNER LE TYPE DE HACHURAGE SI OUI TAPPER S ")) (if (or (= S1 "S") (= S1 "s")) (progn (setq H2 NIL) (setq HACH1 NIL) (setq TEST1 0) ;;; (setq ENT1 nil) ;;; (while (null ENT1) ;;; (setq ENT1 (ssget (list (cons -4 " ;;; (cons 0 "HATCH") ;;; (cons -4 "or>") ;;; ) ;;; ) ;;; ) ;;; ) (while (/= TEST1 1) (setq ENT1 (car (nentsel "\nSELECTIONNER LA HACHURE DE BASE."))) (setq TEST (cdr (assoc 0 (entget ENT1))) TEST1 (cond ((= TEST "HATCH") 1)) ) ) (setq TYPEHACH (cdr (assoc 2 (entget ENT1))) CALQUEHACH (cdr (assoc 8 (entget ENT1))) ) (if (or (= TYPEHACH "SOLID") (= TYPEHACH "solid")) (setq ECHELHACH 1 ANGLHACH 0 ) (setq ECHELHACH (cdr (assoc 41 (entget ENT1))) ANGLHACH (* (cdr (assoc 52 (entget ENT1))) (/ 180 pi)) ) ) ) (progn (prompt "\nSOLID - remplissage de solide") (prompt "\nANGLE - angle acier") (prompt "\nANSI31 - fer, brique, maçonnerie en pierres") (prompt "\nANSI32 - acier") (prompt "\nANSI33 - bronze, laiton, cuivre") (prompt "\nANSI34 - plastique, élastique") (prompt "\nANSI35 - brique réfractaire, matériau réfractaire") (prompt "\nANSI36 - marble, ardoise, verre") (prompt "\nANSI37 - plomb, zinc, magnesium, isolation acoustique/thermique/électrique") (prompt "\nANSI38 - aluminium") (prompt "\nAR-B816 - support d'élévation de bloc 8x16") (prompt "\nAR-B816C - support d'élévation de bloc avec des joints de mortier 8x16") (prompt "\nAR-B88 - support d'élévation de bloc 8x8") (prompt "\nAR-BRELM - support standard en brique pour l'élévation de bloc à l'anglaise avec" ) (prompt "\nAR-BRSTD - support standard en brique pour l'élévation de bloc") (prompt "\nAR-CONC - point au hasard et motif en pierres") (prompt "\nAR-HBONE - motif de brique standard en arête de poisson à 45 degrés") (prompt "\nAR-PARQ1 - revêtement de sol de 2x12 : motif de 12x12") (prompt "\nAR-RROOF - toiture en galet") (prompt "\nAR-RSHKE - toiture en bois") (prompt "\nAR-SAND - motif de points disposés au hasard") (prompt "\nBOX - boîte en acier") (prompt "\nBRASS - matériau en laiton") (prompt "\nBRICK - surface en brique ou en maçonnerie") (prompt "\nBRSTONE - briques et pierres") (prompt "\nCLAY - argile") (prompt "\nCORK - liège") (prompt "\nCROSS - une série de croix") (prompt "\nDASH - tirets") (prompt "\nDOLMIT - marcottage géologique de roches") (prompt "\nDOTS - une série de points") (prompt "\nEARTH - terre ou terrain - sous terre - ") (prompt "\nESCHER - motif Escher") (prompt "\nFLEX - matériau flexible") (prompt "\nGRASS - aire gazonnée") (prompt "\nGRATE - grille") (prompt "\nGRAVEL - Motif gravier") (prompt "\nHEX - héxagones") (prompt "\nHONEY - motif alvéolaire") (prompt "\nHOUND - pied de poule") (prompt "\nINSUL - matériau isolant") (prompt "\nACAD_ISO02W100 - tiret") (prompt "\nACAD_ISO03W100 - tiret espace") (prompt "\nACAD_ISO04W100 - tiret long points") (prompt "\nACAD_ISO05W100 - tiret long deux points") (prompt "\nACAD_ISO06W100 - tiret long trois points") (prompt "\nACAD_ISO07W100 - point") (prompt "\nACAD_ISO08W100 - tiret long point court") (prompt "\nACAD_ISO09W100 - tiret long deux tirets courts") (prompt "\nACAD_ISO10W100 - tiret points") (prompt "\nACAD_ISO11W100 - deux tirets point") (prompt "\nACAD_ISO12W100 - tiret deux points") (prompt "\nACAD_ISO13W100 - deux tirets deux points") (prompt "\nACAD_ISO14W100 - tiret trois points") (prompt "\nACAD_ISO15W100 - deux tirets trois points") (prompt "\nLINE - lignes horizontales parallèles") (prompt "\nMUDST - boue et sable") (prompt "\nNET - grille horizontale / verticale") (prompt "\nNET3 - motif réseau 0-60-120") (prompt "\nPLAST - matériau plastique") (prompt "\nPLASTI - matériau plastique") (prompt "\nSACNCR - béton") (prompt "\nSQUARE - alignement de petits carrés") (prompt "\nSTARS - étoile de David") (prompt "\nSTEEL - matériau métallique") (prompt "\nSWAMP - zone marécageuse") (prompt "\nTRANS - matériau thermoconducteur") (prompt "\nTRIANG - triangles équilatéraux") (prompt "\nZIGZAG - effet d'escalier") (setq TYPE1 (getstring t (strcat "\nVEUILLEZ ENTRER LE NOUVEAU TYPE DE HACHURAGE <" TYPEHACH ">: "))) (if (/= TYPE1 "") (setq TYPEHACH TYPE1) ) (if (/= TYPEHACH "solid") (progn (setq ECHL1 (getdist (strcat "\nENTRER LA VALEUR DE L'ECHELLE DE HACHURAGE <" (rtos ECHELHACH 2 8) ">: "))) (if ECHL1 (setq ECHELHACH ECHL1) ) (setq ANGL1 (getdist (strcat "\nENTRER LA VALEUR DE L'ANGLE DE HACHURAGE <" (rtos ANGLHACH 2 8) ">: "))) (if ANGL1 (setq ANGLHACH ANGL1) ) ) ) ) ) (setq S2 (getstring t "\nVOULEZ VOUS SELECTIONNER DES POLYLIGNES OU DES POINTS SI OUI TAPPER P ")) (if (or (= S2 "P") (= S2 "p")) (progn (prompt "CLIQUER LES POINT A HACHURER:") ;;; (if (= calquehach nil) (command "-calque" "ch" CALQUEHACH "") ;;; (command "-calque" "ch" calquehach "") ;;; ) ;;; (princ "\) ;;; (princ "\) (command "-fhach" "p" TYPEHACH ECHELHACH ANGLHACH "A" "A" "O" "") ;;; (initget "O N") ;;; (setq ANS (getkword "EST CE QUE LE HACHURAGE VOUS CONVIENT ? (O/N):")) ;;; (if (= ANS "N") ;;; (command "ANNULER" "") ;;; ) ;;; (setvar "clayer" cav) ;;; (command "-fhach") ) (progn (command "-fhach" "p" TYPEHACH ECHELHACH ANGLHACH "A" "A" "O" "" "") (if (= CALQUEHACH NIL) (command "-calque" "ch" CALQUEHACH2 "") (command "-calque" "ch" CALQUEHACH "") ) (prompt "CLIQUER SUR L'ENTITE(S) POLYLIGNE(S) A HACHURER :") (setq LESPOLY NIL) (while (null LESPOLY) (setq LESPOLY (ssget (list (cons -4 " (cons 0 "CIRCLE") (cons 0 "polyline") (cons 0 "lwpolyline") (cons 0 "AEC_POLYGON") (cons -4 "or>") ) ) ) ) (setq FERM NIL) (setq COMPT 0) (setq COM (sslength LESPOLY)) (while (< COMPT COM) (progn (setq UNEPOLY (ssname LESPOLY COMPT)) (setq FORME (cdr (assoc 0 (entget UNEPOLY)))) (setq FERM (cdr (assoc 70 (entget UNEPOLY)))) (setq NBPOINT (cdr (assoc 90 (entget UNEPOLY)))) (if (= FORME "CIRCLE") (setq FERM 1 NBPOINT 3 ) ) (if (and (or (= FERM 129) (= FERM 1)) (> NBPOINT 2)) (command "-fhach" "SE" UNEPOLY "" "") ) (setq COMPT (1+ COMPT)) ) ) (princ) (setq COMPT 0) (initget "O N") (setq ANS (getkword "EST CE QUE LE HACHURAGE VOUS CONVIENT ? (O/N):")) (if (= ANS "N") (progn (while (< COMPT COM) (command "ANNULER" "") (setq COMPT (1+ COMPT)))) ) (setvar "clayer" CAV) ) ) (setcfg "APPDATA/typehach" TYPEHACH) (setcfg "APPDATA/echelhach" (rtos ECHELHACH 2 8)) (setcfg "APPDATA/anglhach" (rtos ANGLHACH 2 8)) (setvar "osmode" OSM) ;;; (setvar "clayer" cav) (princ) ) -
bonjour est ce qu'il y a une fonction pour ré associer un hachurage a sa polyligne ? ou faut il crer un programme LISp pour ca ?? qui va recréer un hachurage associatif en fonction de la polyligne choisi avec meme type de hachure meme calque meme tout quoi j'ai bien programmer un tit truc mais je trouve qu'il manque quelque chose phil ;;;%20%20%20%20%20--------------------------------------------- (setq LESPOLY NIL) (while (null LESPOLY) (setq LESPOLY (ssget (list (cons -4 " (cons 0 "CIRCLE") (cons 0 "polyline") (cons 0 "lwpolyline") (cons 0 "AEC_POLYGON") (cons -4 "or>") ) ) ) ) (setq S1 (getstring t "\nVOULEZ VOUS SELECTIONNER LE TYPE DE HACHURAGE SI OUI TAPPER S ")) (if (or (= S1 "S") (= S1 "s")) (progn (setq H2 NIL) (setq HACH1 NIL) (setq TEST1 0) (while (/= TEST1 1) (setq ENT1 (car (nentsel "\nSELECTIONNER LA HACHURE DE BASE."))) (setq TEST (cdr (assoc 0 (entget ENT1))) TEST1 (cond ((= TEST "HATCH") 1)) ) ) (setq TYPEHACH (cdr (assoc 2 (entget ENT1))) CALQUEHACH (cdr (assoc 8 (entget ENT1))) ) (if (or (= TYPEHACH "SOLID") (= TYPEHACH "solid")) (setq ECHELHACH 1 ANGLHACH 0 ) (setq ECHELHACH (cdr (assoc 41 (entget ENT1))) ANGLHACH (* (cdr (assoc 52 (entget ENT1))) (/ 180 pi)) ) ) ) (progn (prompt "\nSOLID - remplissage de solide") (prompt "\nANGLE - angle acier") (prompt "\nANSI31 - fer, brique, maçonnerie en pierres") (prompt "\nANSI32 - acier") (prompt "\nANSI33 - bronze, laiton, cuivre") (prompt "\nANSI34 - plastique, élastique") (prompt "\nANSI35 - brique réfractaire, matériau réfractaire") (prompt "\nANSI36 - marble, ardoise, verre") (prompt "\nANSI37 - plomb, zinc, magnesium, isolation acoustique/thermique/électrique") (prompt "\nANSI38 - aluminium") (prompt "\nAR-B816 - support d'élévation de bloc 8x16") (prompt "\nAR-B816C - support d'élévation de bloc avec des joints de mortier 8x16") (prompt "\nAR-B88 - support d'élévation de bloc 8x8") (prompt "\nAR-BRELM - support standard en brique pour l'élévation de bloc à l'anglaise avec" ) (prompt "\nAR-BRSTD - support standard en brique pour l'élévation de bloc") (prompt "\nAR-CONC - point au hasard et motif en pierres") (prompt "\nAR-HBONE - motif de brique standard en arête de poisson à 45 degrés") (prompt "\nAR-PARQ1 - revêtement de sol de 2x12 : motif de 12x12") (prompt "\nAR-RROOF - toiture en galet") (prompt "\nAR-RSHKE - toiture en bois") (prompt "\nAR-SAND - motif de points disposés au hasard") (prompt "\nBOX - boîte en acier") (prompt "\nBRASS - matériau en laiton") (prompt "\nBRICK - surface en brique ou en maçonnerie") (prompt "\nBRSTONE - briques et pierres") (prompt "\nCLAY - argile") (prompt "\nCORK - liège") (prompt "\nCROSS - une série de croix") (prompt "\nDASH - tirets") (prompt "\nDOLMIT - marcottage géologique de roches") (prompt "\nDOTS - une série de points") (prompt "\nEARTH - terre ou terrain - sous terre - ") (prompt "\nESCHER - motif Escher") (prompt "\nFLEX - matériau flexible") (prompt "\nGRASS - aire gazonnée") (prompt "\nGRATE - grille") (prompt "\nGRAVEL - Motif gravier") (prompt "\nHEX - héxagones") (prompt "\nHONEY - motif alvéolaire") (prompt "\nHOUND - pied de poule") (prompt "\nINSUL - matériau isolant") (prompt "\nACAD_ISO02W100 - tiret") (prompt "\nACAD_ISO03W100 - tiret espace") (prompt "\nACAD_ISO04W100 - tiret long points") (prompt "\nACAD_ISO05W100 - tiret long deux points") (prompt "\nACAD_ISO06W100 - tiret long trois points") (prompt "\nACAD_ISO07W100 - point") (prompt "\nACAD_ISO08W100 - tiret long point court") (prompt "\nACAD_ISO09W100 - tiret long deux tirets courts") (prompt "\nACAD_ISO10W100 - tiret points") (prompt "\nACAD_ISO11W100 - deux tirets point") (prompt "\nACAD_ISO12W100 - tiret deux points") (prompt "\nACAD_ISO13W100 - deux tirets deux points") (prompt "\nACAD_ISO14W100 - tiret trois points") (prompt "\nACAD_ISO15W100 - deux tirets trois points") (prompt "\nLINE - lignes horizontales parallèles") (prompt "\nMUDST - boue et sable") (prompt "\nNET - grille horizontale / verticale") (prompt "\nNET3 - motif réseau 0-60-120") (prompt "\nPLAST - matériau plastique") (prompt "\nPLASTI - matériau plastique") (prompt "\nSACNCR - béton") (prompt "\nSQUARE - alignement de petits carrés") (prompt "\nSTARS - étoile de David") (prompt "\nSTEEL - matériau métallique") (prompt "\nSWAMP - zone marécageuse") (prompt "\nTRANS - matériau thermoconducteur") (prompt "\nTRIANG - triangles équilatéraux") (prompt "\nZIGZAG - effet d'escalier") (setq TYPE1 (getstring t (strcat "\nVEUILLEZ ENTRER LE NOUVEAU TYPE DE HACHURAGE <" TYPEHACH ">: "))) (if (/= TYPE1 "") (setq TYPEHACH TYPE1) ) (if (/= TYPEHACH "solid") (progn (setq ECHL1 (getdist (strcat "\nENTRER LA VALEUR DE L'ECHELLE DE HACHURAGE <" (rtos ECHELHACH 2 8) ">: "))) (if ECHL1 (setq ECHELHACH ECHL1) ) (setq ANGL1 (getdist (strcat "\nENTRER LA VALEUR DE L'ANGLE DE HACHURAGE <" (rtos ANGLHACH 2 8) ">: "))) (if ANGL1 (setq ANGLHACH ANGL1) ) ) ) ) ) (setq FERM NIL) (setq COMPT 0) (command "-fhach" "p" TYPEHACH ECHELHACH ANGLHACH "A" "A" "O" "" "") (if (= CALQUEHACH NIL) (command "-calque" "ch" CALQUEHACH2 "") (command "-calque" "ch" CALQUEHACH "") ) (setq COM (sslength LESPOLY)) (while (< COMPT COM) (progn (setq UNEPOLY (ssname LESPOLY COMPT)) (setq FORME (cdr (assoc 0 (entget UNEPOLY)))) (setq FERM (cdr (assoc 70 (entget UNEPOLY)))) (setq NBPOINT (cdr (assoc 90 (entget UNEPOLY)))) (if (= FORME "CIRCLE") (setq FERM 1 NBPOINT 3 ) ) (if (and (or (= FERM 129) (= FERM 1)) (> NBPOINT 2)) (command "-fhach" "SE" UNEPOLY "" "") ) (setq COMPT (1+ COMPT)) ) ) (princ) (setq COMPT 0) (initget "O N") (setq ANS (getkword "EST CE QUE LE HACHURAGE VOUS CONVIENT ? (O/N):")) (if (= ANS "N") (progn (while (< COMPT COM) (command "ANNULER" "") (setq COMPT (1+ COMPT)))) ) (setcfg "APPDATA/typehach" TYPEHACH) (setcfg "APPDATA/echelhach" (rtos ECHELHACH 2 8)) (setcfg "APPDATA/anglhach" (rtos ANGLHACH 2 8)) (setvar "osmode" OSM) (setvar "clayer" CAV) (princ) )' alt='>)'>
-
changer les noms de calques des bloc
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Suggestions de développements
salut tite question est ce que le LISP de gil "edit_bloc_35" est une mise évolution du lisp de patrick 35 "edit_bloc" ?? j'ai leurs programmes LISp dans deux répertoires differents j'ai un souci avec une boite de dialogue "edit_bloc_3" du lisp "edit_bloc_35" réponse d'autocad au milieu de l'écran "impossible de trouver une définition pour la boite de dialogue edit_bloc_3" phil -
changer les noms de calques des bloc
PHILPHIL a répondu à un(e) sujet de PHILPHIL dans Suggestions de développements
bonjour he non j'ai fait l'essai DU lisp de GIL edit bloc desole GIl mais il fait l'inverse il met tout dans le calque "zero" faut pas ca force les traits en "dubloc" l'idée serait le meme programme en laissant le choix du calque autre que "zero" soit un nouveau calque soit un calque existant deja dans le fichier et en laissant le choix transformer type de couleurs ==> "ducalque" type de traits ==> "ducalque" épaisseur aussi tiens merci merci GIL bon week end phil -
bonjour un petit LISp pour changer les noms de calques des blocs sans etre obliger de passer par la fonction 'REFEDIT" sans rien mettre sur le calque "zero" par pitie c'est peut etre deja programmé ca ?? non ?? merci phil
-
bonjour le sujet a déja été evoqué ici mais je ne le retrouve plus quel est la parametre pour ne pas récuperer les echelles de fenetre des fichiers XREF ?? ou des fichiers bloc ? merci bonne journée autocadienne phil
-
BONJOUR connaissez vous un moyen de transformer un fichier ARCHICAD en dwg meme en 2D un programme "convert" peut etre ??? merci bonne soirée phil
-
Lenteur entre changement de pages
PHILPHIL a répondu à un(e) sujet de lesourd2 dans CADxp, comment ça marche?
bonjour ou alors du fondu enchainées entre les pages moi j'annonce 20secondes grrrrrrrrrrr oups phil
