-
Compteur de contenus
4 029 -
Inscription
-
Dernière visite
-
Jours gagnés
21
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par DenisHen
-
Effectivement, j'ai fais un CONTROLE et il me sort 2 erreurs : Mais si je relance CONTROLE, il me retrouve encore ces deux erreurs... Le problème est que le fichier d'origine n'est pas de moi, il nous a été fourni par le client. Et je ne comprend pas pourquoi certaines polyligne se convertissent et pas d'autres...
-
petit précision, Covadis me dit ça :
-
Salut didier et merci de me répondre. Voici les fichiers dont toutes les polylignes ne se sont pas converties.
-
Bonjour à tous, Voilà, j'ai besoin de convertir des polylignes (donc 2D) en polylignes 3D selon les points topos en 3D aussi... Covadis converti certaines polylignes, mais pas toutes... Y-a-t'il une astuce ? Denis...
-
Merci messieurs de votre aide... Mais je ne saisi pas très bien vos démarches, je dois écrir un bout de LiSP pour intéroger le contenu de mon bloc une fois créé en le sélectionnant ? Car je vois bien le contenu de mon attribut dans la fenêtre de propriété. A moins que cet affichage ne soit pas conforma à son contenu... A toutes fins utiles, voici la totalité de mon LiSP : ;Sélection de DEUX textes pour en faire des PTRL--------------------------------------------------------------------------------------------------------------------- (defun c:Alti-Prof-versPTRL (/) ;;Sélection de deux textes (Alti puis Prof) (princ "\tDéveloppé par Denis H. (ver.1.3)") (setq Calq (vlax-ldata-get "DenisH" "CalqCourDetect")) ;;(princ (strcat "\t\tRéseau courant : " Calq)) (cond ;; Écriture des calques actifs ((= Calq "DET_ARR") (princ "\tCalques 'Arrosage' actifs")) ((= Calq "DET_RES_ARR") (princ "\tCalques 'Arrosage' actifs")) ((= Calq "DET_CHA") (princ "\tCalques 'Chaleur' actifs")) ((= Calq "DET_RES_CHA") (princ "\tCalques 'Chaleur' actifs")) ((= Calq "DET_CHI") (princ "\tCalques 'Chimique' actifs")) ((= Calq "DET_RES_CHI") (princ "\tCalques 'Chimique' actifs")) ((= Calq "DET_EAU") (princ "\tCalques 'Eau potable' actifs")) ((= Calq "DET_RES_EAU") (princ "\tCalques 'Eau potable' actifs")) ((= Calq "DET_EP") (princ "\tCalques 'Eau Pluviale' actifs")) ((= Calq "DET_RES_EP") (princ "\tCalques 'Eau Pluviale' actifs")) ((= Calq "DET_EU") (princ "\tCalques 'Eau Usée' actifs")) ((= Calq "DET_RES_EU") (princ "\tCalques 'Eau Usée' actifs")) ((= Calq "DET_ECL") (princ "\tCalques 'Éclairage Public' actifs")) ((= Calq "DET_RES_ECL") (princ "\tCalques 'Éclairage Public' actifs")) ((= Calq "DET_ELEC") (princ "\tCalques 'Électicité (BT+HT)' actifs")) ((= Calq "DET_RES_ELEC") (princ "\tCalques 'Électicité (BT+HT)' actifs")) ((= Calq "DET_ELEC_BT") (princ "\tCalques 'ErDF BT' actifs")) ((= Calq "DET_RES_ELEC_BT") (princ "\tCalques 'ErDF BT' actifs")) ((= Calq "DET_ELEC_HT") (princ "\tCalques 'ErDF HT' actifs")) ((= Calq "DET_RES_ELEC_HT") (princ "\tCalques 'ErDF HT' actifs")) ((= Calq "DET_FIB") (princ "\tCalques 'Fibre Optique' actifs")) ((= Calq "DET_RES_FIB") (princ "\tCalques 'Fibre Optique' actifs")) ((= Calq "DET_GAZ") (princ "\tCalques 'GrDF Gaz' actifs")) ((= Calq "DET_RES_GAZ") (princ "\tCalques 'GrDF Gaz' actifs")) ((= Calq "DET_MULTI") (princ "\tCalques 'Multi Réseau' actifs")) ((= Calq "DET_RES_MULTI") (princ "\tCalques 'Multi Réseau' actifs")) ((= Calq "DET_NI") (princ "\tCalques 'Réseau Non Identifié' actifs")) ((= Calq "DET_RES_NI") (princ "\tCalques 'Réseau Non Identifié' actifs")) ((= Calq "DET_SLT") (princ "\tCalques 'Signalisation Lumineuse Tricolore' actifs")) ((= Calq "DET_RES_SLT") (princ "\tCalques 'Signalisation Lumineuse Tricolore' actifs")) ((= Calq "DET_TEL") (princ "\tCalques 'Télécom' actifs")) ((= Calq "DET_RES_TEL") (princ "\tCalques 'Télécom' actifs")) ((= Calq "DET_UNI") (princ "\tCalques 'Unitaire' actifs")) ((= Calq "DET_RES_UNI") (princ "\tCalques 'Unitaire' actifs")) ((= Calq "DET_VID") (princ "\tCalques 'Vidéo' actifs")) ((= Calq "DET_RES_VID") (princ "\tCalques 'Vidéo' actifs")) ) ;_ Fin de cond (if (= Calq "") (progn (princ "\nIl faut définir un calque par défaut...") (princ "\nLe Calque 'Reseau A Définir' sera créé si vous continuez.") (setq Calq "Reseau A Définir") ) ;_ Fin de progn ) ;_ Fin de if (setvar "cmdecho" 1) (setq old_osmd (getvar "osmode") old_abase (getvar "angbase") old_adir (getvar "angdir") old_aunits (getvar "aunits") old_DimZin (getvar "dimzin") old_layer (getvar "clayer") ) ;_ Fin de setq (setvar "osmode" 1) (setvar "angbase" 0) (setvar "angdir" 0) (setvar "cmdecho" 0) (setvar "aunits" 0) (setvar "dimzin" 0) ;; (setq ech (vlax-ldata-get "DenisH" "Ech")) (if ech (princ (strcat "\t\tEchelle : 1/" (rtos ech 2 0))) (progn (setq ech (getreal "\tÉchelle du dessin 1/")) (vlax-ldata-put "DenisH" "Ech" ech)) ;_ Fin de progn ) ;_ Fin:if ;; ;; (if (= (vlax-ldata-get "DenisH" "EtiqPTRL_Zgs") "Oui") (progn (setq Txt_Alti (car (entsel "\nSélectionnez l'altitude :"))) (wcmatch (cdr (assoc 0 (setq elst (entget Txt_Alti)))) "*ALTI") (setq Alti (cdr (assoc 1 elst))) ;(princ (strcat " " Alti)) ) ;_ Fin de progn ) ;_ Fin de if (setq Txt_Prof (car (entsel "\t\tSélectionnez la profondeur :"))) (wcmatch (cdr (assoc 0 (setq elst (entget Txt_Prof)))) "*PROF") (setq Prof (cdr (assoc 1 elst))) ;; Suppression des textes "P" et "M" dans le Prof (if (= T (wcmatch Prof "*#*")) (progn (setq Prof (vl-string-left-trim "Pf:" (vl-string-right-trim "m" Prof))) (setq Prof (vl-string-left-trim "Zgs=" (vl-string-right-trim "m" Prof))) (setq Prof (vl-string-left-trim "Zgs:" (vl-string-right-trim "m" Prof))) (setq Prof (vl-string-left-trim "P=" (vl-string-right-trim "M" Prof))) (setq Prof (vl-string-left-trim "P:" (vl-string-right-trim "M" Prof))) (setq Prof (vl-string-left-trim "P" (vl-string-right-trim "M" Prof))) (setq Prof (vl-string-left-trim "p" (vl-string-right-trim "m" Prof))) ) ;_ Fin de progn ) ;_ Fin de if ;; (if (= (vlax-ldata-get "DenisH" "EtiqPTRL_Zgs") "Oui") (setq Zgs (rtos (- (atof Alti) (atof Prof)) 2 2)) ;_ Fin de progn ) ;(princ (strcat "\nAlti=" Alti"\tProf=" Prof "\tZgs=" Zgs)) (setvar "osmode" 1) (setq pt_ins (getpoint "\nPoint d'insertion du PTRL : ")) (setvar "osmode" 0) ;Récupération du segment de la polyligne (while (null (setq e_seg (entsel "\tSélectionnez le segment de la polyligne : ")) ;_ Fin de setq ) ;_ Fin de null ) ;_ Fin de while ;;(princ "\nDrapeau 01") (setq typent (cdr (assoc 0 (setq dxf_ent (entget (car e_seg)))))) (cond ((or (eq typent "XLINE") (eq typent "RAY")) (setq dxf_11 (cdr (assoc 11 dxf_ent))) (setq x_alpha (atan (/ (cadr dxf_11) (car dxf_11)))) (grdraw (trans (cdr (assoc 10 dxf_ent)) 0 1) (polar (trans (cdr (assoc 10 dxf_ent)) 0 1) x_alpha (distance (getvar "vsmin") (getvar "vsmax")) ) ;_ Fin de polar -1 1 ) ;_ Fin de grdraw ) ((eq typent "LINE") (setq x_alpha (angle (cdr (assoc 10 dxf_ent)) (cdr (assoc 11 dxf_ent))) ;_ Fin de angle ) ;_ Fin de setq (grdraw (trans (cdr (assoc 10 dxf_ent)) 0 1) (trans (cdr (assoc 11 dxf_ent)) 0 1) -1 1) ;_ Fin de grdraw ) ((or (eq typent "LWPOLYLINE") (and (eq typent "POLYLINE") (zerop (boole 1 118 (cdr (assoc 70 dxf_ent))))) ;_ Fin de and ) ;_ Fin de or (setq l_2pt (near_vertex_arr e_seg)) (grdraw (car l_2pt) (cadr l_2pt) -1 1) (if (zerop (caddr l_2pt)) (setq x_alpha (angle (trans (car l_2pt) 1 0) (trans (cadr l_2pt) 1 0)) ;_ Fin de angle ) ;_ Fin de setq (progn (setq x_alpha nil) (princ "\nNe peut obtenir un angle depuis ce type d'objet!")) ;_ Fin de progn ) ;_ Fin de if ) (T (princ "\nNe peut obtenir un angle depuis ce type d'objet!") (redraw)) ) ;_ Fin de cond (if (not (tblsearch "layer" (strcat Calq "_PTRL"))) (command "-calque" "n" (strcat Calq "_PTRL") "") (setvar "Clayer" (strcat Calq "_PTRL")) ) ;_ Fin de if ;(princ "\nDrapeau 02") (setq Prof (atof Prof)) ;(princ (strcat "\nDrapeau X :" (rtos Prof 2 2))) (setvar "attdia" 0) (setq echBlk (/ ech 150)) (if (= (vlax-ldata-get "DenisH" "EtiqPTRL_Zgs") "Oui") (progn (command "inserer" "PTRL_PF_ZG" pt_ins echBlk echBlk (angtos x_alpha) Prof ZGs) (setvar "attdia" 1) ;(princ "\nDrapeau 03 :") (setq Prof (strcat "Pf:" (rtos Prof 2 2))) (setq ZGs (strcat "Zgs:" ZGs)) ) ;_ Fin de progn (progn (command "inserer" "PTRL_PROF" pt_ins echBlk echBlk (angtos x_alpha) Prof) ;_ Fin de command ;(princ Prof) (setvar "attdia" 1) ;(princ (atof (rtos Prof 2 2))) (setq Prof (strcat "Pf:" (rtos Prof 2 2))) ) ;_ Fin de progn ) ;_ Fin de if ; ;Ecriture et déplacement du texte le long du texte ;(command "textstyle" "Profondeur") (if (not (tblsearch "style" "Profondeur")) (command "-style" "Profondeur" "simplex" "" "" "" "" "") ;_ Fin de princ (command "textstyle" "Profondeur") ) ;_ Fin de if (if (not (tblsearch "layer" (strcat Calq "_PROF"))) (command "-calque" "n" (strcat Calq "_PROF") "") (setvar "CLAYER" (strcat Calq "_PROF")) ) ;_ Fin de if ;Ecriture de la profondeur sur le point du PTRL (command "texte" "j" "mc" pt_ins (/ (* 0.6 ech) 500.0) (angtos x_alpha) Prof) ;Déplacement de la profondeur depuis le pt_ins pour le placer correctement le texte le long du segment de la Pline (command "_move" "_last" "" pt_ins pause) (if (= (vlax-ldata-get "DenisH" "EtiqPTRL_Zgs") "Oui") (progn (command "textstyle" "ZGs") ;(command "-Calque" "n" (strcat Calq "_Zgs" "")) (if (not (tblsearch "layer" (strcat Calq "_ZGs"))) (command "-calque" "n" (strcat Calq "_ZGs") "") ) ;_ Fin de if (setvar "CLAYER" (strcat Calq "_ZGs")) (command "texte" "j" "mc" pt_ins (/ (* 0.6 ech) 500.0) (angtos x_alpha) ZGs) (command "_move" "_last" "" pt_ins pause) ) ;_ Fin de progn ) ;_ Fin de if (if (= (vlax-ldata-get "DenisH" "EtiqPTRL_Zs") "Oui") (progn (command "textstyle" "ZSurf") ;(command "-Calque" "n" (strcat Calq "_Zgs" "")) (if (not (tblsearch "layer" (strcat Calq "_ZSurf"))) (command "-calque" "n" (strcat Calq "_ZSurf") "") ) ;_ Fin de if (setvar "CLAYER" (strcat Calq "_ZSurf")) (command "texte" "j" "mc" pt_ins (/ (* 0.6 ech) 500.0) (angtos x_alpha) Alti) (command "_move" "_last" "" pt_ins pause) ) ;_ Fin de progn ) ;Réaffectation des variables AutoCAD (setvar "osmode" 15) (setvar "angbase" old_abase) (setvar "angdir" old_adir) (setvar "aunits" old_aunits) (setvar "dimzin" old_DimZin) (setvar "clayer" old_layer) (princ) ;(c:Alti-Prof-versPTRL) (CtrlSvGrd) ) ;_ Fin de defun Je sais, je ne gère pas les "erreurs" ni la fin prématurée de mon LiSP par ECHAP ou autre... Mais c'est, je pense, le prochain stade de mon apprentissage...
-
Je ne doute pas de la qualité de ton aide ni de ta bonne volonté, j'ai juste quelques doutes ton estimation de mon niveau en LiSP. :blink: Dans mon LiSP, j'insert un bloc et, en même temps, je lui donne une valeur pour un attribut. Avec tes trois lignes de code, j'ai l'impression qu'il faut inserer le bloc et ensuite, le sélectionner pour en sortir l'attribut... Mais je répète, on n'a pas le même niveau ;)
-
Merci Patrick_35 pour ton aide, mais là, c'est trop complexe pour moi...
-
Salut Patrick_35 et merci de m'aider, J'ai réglé DIMZIN à 8 et rien n'y fait...
-
Bonjour à tous, Voilà, j'ai un petit souci... J'ai, dans une macro assez complexe, une variable (décimale) égàle à 0.5, par exemple. Et bien lorsque je l'enregistre dans un attribut de bloc, ce dernier est égale à 0.500000000000000 Voici le bout de code qui attibut la variable : (setq Txt_Prof (car (entsel "\t\tSélectionnez la profondeur :"))) (wcmatch (cdr (assoc 0 (setq elst (entget Txt_Prof)))) "*PROF") (setq Prof (cdr (assoc 1 elst))) Ou Prof est bien égàle à 0.5 Et plus loin, j'ai (command "inserer" "PTRL_PROF" pt_ins echBlk echBlk (angtos x_alpha) Prof) Qui donne 0.500000000000000 à l'attribut "PROF" du bloc "PTRL_PROF"... Si quelqu'un a une idée ou une astuce, je suis preneur... Denis...
-
Salut... Pfffff.... Effectivement... Pourquoi ? ? Désolé de t'avoir dérangé pour une bétise... Et merci pour ton aide, encore une fois... Pour ceux que ça peut interresser, voici une routine qui sauvegarde tous les 10 appels. ;;; Sauvegarde toutes les 10 opérations LiSP (defun CtrlSvGrd (/) (princ "\nDéveloppé par Denis H.") (setq SvGrd (vlax-ldata-get "DenisH" "SauveGarde" 0)) (if (>= SvGrd 10) (progn (command "_qsave" "") (vlax-ldata-put "DenisH" "SauveGarde" 0) ) ;_ Fin de progn (progn (setq SvGrd (+ SvGrd 1)) (vlax-ldata-put "DenisH" "SauveGarde" SvGrd) ) ;_ Fin de progn ) ;_ Fin de if (princ (strcat "\tIncrémentation : " (itoa SvGrd))) (princ) ) ;_ Fin de defun Et merci encore (gile)... Denis...
-
Bonjour à la communauté, Voilà, j'ai un petit soucis, je tente de créer un petit bout de LiSP pour, toutes les 10 incrémentations, sauvegarder mon DWG. En gros, dans quelques-uns de mes LiSP, j'incrémente une variable. Lorsque j'ouvre mon DWG, elle est à 0, puis, à mesure du déroulement de différents LiSP, j'incrémente cette variable de +1. Enfin, si elle est égale ou suppérieur à 10, une sauvegarde sera effectuée... Voici mon bout de code qui sera appelé depuis mes LiSP : ;;; Sauvegarde toutes les 10 opération LiSP... (defun c:CtrlSvGrd (/) (princ "\nDéveloppé par Denis H.") (setq SvGrd (rtos (vlax-ldata-get "DenisH" "SauveGarde" 0) 0 0)) (if (>= SvGrd 10) (progn (command "_qsave" "") (vlax-ldata-put "DenisH" "SauveGarde" 0) ) ;_ Fin de progn (setq SvGrd (+ SvGrd 1)) ) ;_ Fin de if (princ) ) ;_ Fin de defun Mais lorsque je l'exécute, AutoCAD me répond : Et je ne saisi pas trop... Ce doit être le (rtos qui pose problème... Si quelqu'un a une idée ou une astuce, je suis preneur... Denis...
-
Import/Export AutoCAD -> MicroStation
DenisHen a répondu à un(e) sujet de DenisHen dans Microstation
Merci pour ton aide fabyan, Le problème avec cette méthode, c'est que je perds mes présentations... Denis... -
Bonjour, je pencherais pour un mauvais réglage dans un .DWT... Denis...
-
Comment passer les XREFS en GRIS en 1 clic
DenisHen a répondu à un(e) sujet de rebcao dans AutoCAD LT 2016
Christian, Les deux macros semblent ne pas fonctionner, l'option "_PS" me renvoi "Choix de l'option incorrect"... Et je ne sais pas à quoi elle sert... Aurais-tu un peu plus d'explication sur ces deux macros s'il te plait ? Denis... -
Comment passer les XREFS en GRIS en 1 clic
DenisHen a répondu à un(e) sujet de rebcao dans AutoCAD LT 2016
Salut à tous, Et merci à Christian pour cette vidéo très très interressante ! ! ! Perso, j'utilise les Etats de calques pour revenir aux couleurs d'origines des XRefs... Denis... -
Excel vers AutoCAD : Bloc + Attributs
DenisHen a répondu à un(e) sujet de lecrabe dans Suggestions de développements
Je viens d'essayer le lien que j'ai placé dans mon précédant post... Il fonctionne chez moi... Je ne sais pas comment t'aider... -
Petit fichier, taille énorme dans le spool d'impression
DenisHen a répondu à un(e) sujet de Platypus dans AutoCAD 2015
Bonjour Platypus, Je pense que c'est "normal" vu que tu a un Jpeg dans ton dessin, et qu'il fait 1.5Mo. Pense à régler ton imprimante/traceur avec moins de précision, 300dpi voir 150dpi devraient suffir... Et compare leur taille... Denis... -
Comment annuler un déplacement en supprimant l'entité
DenisHen a posté un sujet dans Pour aller plus loin en LISP
Bonjour à tous, Bon, aujourd'hui, j'aimerai faire "évoluer" une de mes macros... Cette macro écrit un texte et me propose de le placer après coup, le voici : ;; Ecriture de la profondeur sur le point du PTRL (command "texte" "j" "mc" pt_ins (/ (* 0.6 ech) 300.0) (angtos x_alpha) Prof) ;; Déplacement de la profondeur depuis le pt_ins pour le placer correctement le texte le long du segment de la Pline (command "_move" "_last" "" pt_ins pause) Le problème est que je n'ai pas toujours besoin de ce texte, j'aimerais donc écrire ce texte et, si je fais [Entrer] lors du "replacement" de ce texte, la commande s'arrête et supprime ce texte... Si quelqu'un a une idée ou une astuce, je suis preneur... Denis... -
Merci La Lozère, je n'y avais pas pensé, mais travailler dans l'EP avec un fond noir... Ça ne fait pas bizarre ? La plupart de mes clients n’utilisent l’espace papier que pour imprimer, ils travaillent quasiment tous en espace objet, raison pour laquelle je créé des vues… Denis...
-
Bonjour Lilian, Oui, mais plutôt que de passer de présentations en présentations, chose très difficile pour beaucoup de clients (qui savent rarement utiliser l'espase papier), il est plus rapide de changer de vue. Enfin je trouve... Car les régénérations intempestives entre chaque présentation est lassante au bout d'un moment... Et je n'aime pas travailler sur fond blanc... Na. Denis...
-
Bonjour à tous, J'ai juste une petite remarque, je n'ai rien trouvé là-dessus alors... Il serait judicieux qu'à la création d'un carroyage, une vue soit créée en même temps, avec juste deux lignes dans la fenêtre de création de carroyage... J'ai des dizaines de carroyages à faire (dans tous les sens bien-sur) sur des dizaines de dwg... Et pour une navigation plus aisée dans tous ça, je créé des vues, qui correspondent exactement aux carroyages... Si quelqu'un a une réponse ou une astuce... Je suis preneur. Et est-ce que Géomédia à prévu celà ? Denis...
-
Salut à tous... Pour en revenir au super tableau du TOP QUIZ : vu que c'est un PDF, la combinaison [Ctrl]+F est notre ami... Je m'en sers régulièrement... J'ai même découverts des variables dont je ne me doutais pas avoir besoin... C'est un beau et fastidieux travail qu'à fait là RebCao, avec pas moins de 293 problèmes... Malgré certains "doublons" : 25 et 153 par exemple... Mais c'est juste pour médire... ;-) Un grand merci à RebCao...
-
Définition d'une VUE avec orientation du réticule
DenisHen a répondu à un(e) sujet de DenisHen dans AutoCAD 2014
Merci pour cette réponse, mais avant, chaque vues étaient "enregistrées" AVEC cette variable... Ce qui fait que je n'avais qu'à rappeler la vue et mon réticule était aligné avec... Maintenant, il garde l'orientation précédante... -
Bonjour à tous, Voilà, j'ai un petit souci depuis ce matin. Je ne sais pas pourquoi, mais quand j'enregistre une vue, mon réticule garde la rotation précédante, ce qui fait qu'il n'est pas parallèle avec cette vue... Ce que je faisais avant... En gros, comment enregistrer une vue avec la variable SNAPANG ? Denis...
-
Style de tracé dans le gestionnaire des calques
DenisHen a répondu à un(e) sujet de samsam dans AutoCAD LT 2016
+1 avec didier, J'ai toujours utilisé les CTB, n'ayant que quelques couleurs à gérer. Mais je ne me suis jamais réellement posé de questions à ce sujet. C'est vrai qu'un petit "comparatif" serait le bienvenu... Pour ce qui est des Xref avec des entitées avec une couleur fixe, j'ouvre mon Xref et un coup de "EDIT_BLOC" de (gile) et c'est terminer. Après, si le client veux ses couleurs, je remet les DWG de la XRef d'origine en lieu et place de celui que j'ai modifier... Petit inconvénient tout de même, le CTB ne gère que les couleurs de 1 à 255. Si on a un calques avec les couleurs "vrai" (rouge, vert, jaune), ce n'est pas géré et elle s'impriment tel quel... Denis...
