-
Compteur de contenus
50 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Cyrchap
-
Bonjour, oui c'est possible en faisant une étiquette avec un bloc. Dans ce cas il suffit lors de la création du bloc de définir si l'attribut est visible ou non. Dans l'étiquette on retrouve ensuite le nom des attributs Bon courage
-
Bonjour; Dans Covadis il y a un contrôle de structuration. Mais il faut Covadis et ne fonctionne pas à partir d'un dws mais d'un gabarit txt . Salut
-
Bonjour, à tous Est-ce possible de créer un ou des états de calque d'après les onglets de présentation ? exemple: j'ai dix présentations prête à être imprimer, je lance une commande ou un lisp et cela me crée des états de calques conformes à chaque présentation avec le nom de la présentation. Si un ou plusieurs l'état de calque existent, question pour savoir si on remplace, oui, non ou tous. Merci de vos réponses Cyrchap
-
Relevé de cotes sur site avec tablette tactile
Cyrchap a répondu à un sujet dans Devis, métré, estimation, quantitatif
Salut, pour info il y a ACad In levé intérieur. http://www.atlog.net...-interieur.html -
Salut, il y a ce lisp ;;; HATCHB.LSP ;;; Recreates hatch boundary by selecting a hatch ;;; Boundary is created in current layer/color/linetype in WCS ;;; By Jimmy B ;;; e-mail: cadman@yesbox.net ;;; 2000-02-12 - First release ;;; 2000-03-27 - Counterclockwise arc's and ellipse's fixed ;;; Objects created joined to lwpolyline if possible ;;; Error-handling, undo of command ;;; Can handle PLINETYPE = 0,1,2 ;;; 2000-03-30 - Integrating hatchb and hatchb14 ;;; Selection of many hatches ;;; Splines supported if closed. ;;; Tested on AutoCAD 2000 ;;; should be working on older versions too. (defun c:hb () (c:hatchb)) ; this line can be commented out if there is an existing command called hb (defun c:hatchb (/ es blay ed1 ed2 loops1 bptf part et noe plist ic bul nr ang1 ang2 obj *ModelSpace* *PaperSpace* space cw errexit undox olderr oldcmdecho ss1 lastent en1 en2 ss lwp list->variantArray 3dPoint->2dPoint A2k ent i ss2 knot-list controlpoint-list kn cn pos ) (setq A2k (wcmatch (getvar "ACADVER") "15*")) (if A2k (defun list->variantArray (ptsList / arraySpace sArray) (setq arraySpace (vlax-make-safearray vlax-vbdouble (cons 0 (- (length ptsList) 1)) ) ) (setq sArray (vlax-safearray-fill arraySpace ptsList)) (vlax-make-variant sArray) ) ) (if A2k (defun 3dPoint->2dPoint (3dpt) (list (float (car 3dpt)) (float (cadr 3dpt))) ) ) (defun errexit (s) (princ "\nError: ") (princ s) (restore) ) (defun undox () (command "._ucs" "_p") (command "._undo" "_E") (setvar "cmdecho" oldcmdecho) (setq *error* olderr) (princ) ) (setq olderr *error* restore undox *error* errexit ) (setq oldcmdecho (getvar "cmdecho")) (setvar "cmdecho" 0) (command "._UNDO" "_BE") (if A2k (progn (vl-load-com) (setq *ModelSpace* (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object)) ) *PaperSpace* (vla-get-PaperSpace (vla-get-ActiveDocument (vlax-get-acad-object)) ) )) ) (if (/= (setq ss2 (ssget '((0 . "HATCH")))) nil) (progn (setq i 0) (while (setq ent (ssname ss2 i)) (setq ed1 (entget ent)) (if (not (equal (assoc 210 ed1) '(210 0.0 0.0 1.0))) (princ "\nHatch not in WCS!")) (command "._ucs" "_w") (setq loops1 (cdr (assoc 91 ed1))) ; number of boundary paths (loops) (if (and A2k (= (strcase (cdr (assoc 410 ed1))) "MODEL")) (setq space *ModelSpace*) (setq space *PaperSpace*) ) (repeat loops1 (setq ed1 (member (assoc 92 ed1) ed1)) (setq bptf (cdr (car ed1))) ; boundary path type flag (setq ic (cdr (assoc 73 ed1))) ; is closed (setq noe (cdr (assoc 93 ed1))) ; number of edges (setq ed1 (member (assoc 72 ed1) ed1)) (setq bul (cdr (car ed1))) ; bulge (setq plist nil) (setq blist nil) (cond ((> (boole 1 bptf 2) 0) ; polyline (repeat noe (setq ed1 (member (assoc 10 (cdr ed1)) ed1)) (setq plist (append plist (list (cdr (assoc 10 ed1))))) (setq blist (append blist (if (> bul 0) (list (cdr (assoc 42 ed1))) nil ) ) ) ) (if A2k (progn (setq polypoints (apply 'append (mapcar '3dPoint->2dPoint plist) ) ) (setq VLADataPts (list->variantArray polypoints)) (setq obj (vla-addLightweightPolyline space VLADataPts)) (setq nr 0) (repeat (length blist) (if (/= (nth nr blist) 0) (vla-setBulge obj nr (nth nr blist)) ) (setq nr (1+ nr)) ) (if (= ic 1) (vla-put-closed obj T) ) ) (progn (if (= ic 1) (entmake '((0 . "POLYLINE") (66 . 1) (70 . 1))) (entmake '((0 . "POLYLINE") (66 . 1))) ) (setq nr 0) (repeat (length plist) (if (= bul 0) (entmake (list (cons 0 "VERTEX") (cons 10 (nth nr plist)) ) ) (entmake (list (cons 0 "VERTEX") (cons 10 (nth nr plist)) (cons 42 (nth nr blist)) ) ) ) (setq nr (1+ nr)) ) (entmake '((0 . "SEQEND"))) ) ) ) (t ; not polyline (setq lastent (entlast)) (setq lwp T) (repeat noe (setq et (cdr (assoc 72 ed1))) (cond ((= et 1) ; line (setq ed1 (member (assoc 10 (cdr ed1)) ed1)) (if A2k (vla-AddLine space (vlax-3d-point (cdr (assoc 10 ed1))) (vlax-3d-point (cdr (assoc 11 ed1))) ) (entmake (list (cons 0 "LINE") (assoc 10 ed1) (assoc 11 ed1)) ) ) (setq ed1 (cddr ed1)) ) ((= et 2) ; circular arc (setq ed1 (member (assoc 10 (cdr ed1)) ed1)) (setq ang1 (cdr (assoc 50 ed1))) (setq ang2 (cdr (assoc 51 ed1))) (setq cw (cdr (assoc 73 ed1))) (if (equal ang2 6.28319 0.00001) (progn (if A2k (vla-AddCircle space (vlax-3d-point (cdr (assoc 10 ed1))) (cdr (assoc 40 ed1)) ) (entmake (list (cons 0 "CIRCLE") (assoc 10 ed1) (assoc 40 ed1) ) ) ) (setq lwp nil) ) (if A2k (vla-AddArc space (vlax-3d-point (cdr (assoc 10 ed1))) (cdr (assoc 40 ed1)) (if (= cw 0) (- 0 ang2) ang1 ) (if (= cw 0) (- 0 ang1) ang2 ) ) (entmake (list (cons 0 "ARC") (assoc 10 ed1) (assoc 40 ed1) (cons 50 (if (= cw 0) (- 0 ang2) ang1 ) ) (cons 51 (if (= cw 0) (- 0 ang1) ang2 ) ) ) ) ) ) (setq ed1 (cddddr ed1)) ) ((= et 3) ; elliptic arc (setq ed1 (member (assoc 10 (cdr ed1)) ed1)) (setq ang1 (cdr (assoc 50 ed1))) (setq ang2 (cdr (assoc 51 ed1))) (setq cw (cdr (assoc 73 ed1))) (if A2k (progn (setq obj (vla-AddEllipse space (vlax-3d-point (cdr (assoc 10 ed1))) (vlax-3d-point (cdr (assoc 11 ed1))) (cdr (assoc 40 ed1)) ) ) (vla-put-startangle obj (if (= cw 0) (- 0 ang2) ang1)) (vla-put-endangle obj (if (= cw 0) (- 0 ang1) ang2)) ) (princ "\nElliptic arc not supported!") ) (setq lwp nil) ) ((= et 4) ; spline (setq ed1 (member (assoc 94 (cdr ed1)) ed1)) (setq knot-list nil) (setq controlpoint-list nil) (setq kn (cdr (assoc 95 ed1))) (setq cn (cdr (assoc 96 ed1))) (setq pos (vl-position (assoc 40 ed1) ed1)) (repeat kn (setq knot-list (cons (cons 40 (cdr (nth pos ed1))) knot-list)) (setq pos (1+ pos)) ) (setq pos (vl-position (assoc 10 ed1) ed1)) (repeat cn (setq controlpoint-list (cons (cons 10 (cdr (nth pos ed1))) controlpoint-list)) (setq pos (1+ pos)) ) (setq knot-list (reverse knot-list)) (setq controlpoint-list (reverse controlpoint-list)) (entmake (append (list '(0 . "SPLINE")) (list (cons 100 "AcDbEntity")) (list (cons 100 "AcDbSpline")) (list (cons 70 (+ 1 8 (* 2 (cdr (assoc 74 ed1))) (* 4 (cdr (assoc 73 ed1)))))) (list (cons 71 (cdr (assoc 94 ed1)))) (list (cons 72 kn)) (list (cons 73 cn)) knot-list controlpoint-list ) ) (setq ed1 (member (assoc 10 ed1) ed1)) (setq lwp nil) ) ) ; end cond ) ; end repeat noe (if lwp (progn (setq en1 (entnext lastent)) (setq ss (ssadd)) (ssadd en1 ss) (while (setq en2 (entnext en1)) (ssadd en2 ss) (setq en1 en2) ) (command "_.pedit" (entlast) "_Y" "_J" ss "" "") )) ) ; end t ) ; end cond ) ; end repeat loops1 (setq i (1+ i)) ) ) ) (restore) (princ) )
-
Salut! pour extraire les présentaions il y a l'excelent lisp de Patrick_35. Seule remarque dans les dwg qui sont crées (1 par onglet présentation) les calques gelés dans la fenetre Espace papier de la présentation d'origine sont dégeler dans les fichiers crées. ;;;================================================================= ;;; ;;; EXL.LSP V1.11 ;;; ;;; Exporter des Présentations ;;; ;;; Copyright © Patrick_35 ;;; ;;;================================================================= (defun c:exl(/ act bou cal cod dbx def doc fen lay liste_lay lst lst_base nom obj res s sel val bda *errexl*) (defun *errexl* (msg) (or (member (strcase msg) '("FUNCTION CANCELLED" ""QUIT / EXIT ABORT"" "FONCTION ANNULEE" "QUITTER / SORTIR ABANDON")) (princ (strcat "\nErreur : " msg)) ) (vla-endundomark doc) (setq *error* s) (princ) ) (defun bda (titre lst / affiche_txt bascule dcl dwg fic fil gab parcourir res txt val) (defun bascule() (if (eq gab "0") (mode_tile "par" 1) (mode_tile "par" 0) ) ) (defun affiche_txt(txt) (if (> (strlen txt) 42) (set_tile "txt" (strcat (substr txt 1 10) "..." (substr txt (- (strlen txt) 29)))) (set_tile "txt" txt) ) ) (defun parcourir(/ rec) (setq rec (getfiled "Choix d'un Gabarit" (strcat (vla-get-templatedwgpath (vla-get-files (vla-get-preferences (vlax-get-acad-object)))) "/" ) "dwt;dwg;dxf" 8 ) ) (and rec (setq dwg rec)(affiche_txt dwg)) ) (setq fic (vl-filename-mktemp "exl" nil ".dcl") fil (open fic "w") dwg (getenv "Patrick_35_Gabarit_Exl") gab (getenv "Patrick_35_Bouton_Gabarit") ) (or gab (setq gab "0")) (foreach txt '( "exl : dialog {" " key = \"titre\";" " alignment = centered;" " is_cancel = true;" " allow_accept = true;" " width = 50;" " : list_box {label= \"Sélection\"; key=\"sel\"; height = 20; multiple_select=true;}" " spacer;" " : boxed_row {" " label = \"Gabarit\";" " : toggle {key = \"gab\";}" " : text {key = \"txt\"; width = 40;}" " : button {label = \"...\"; key = \"par\"; width = 2;}" " }" " spacer;" " ok_cancel;" "}" ) (write-line txt fil) ) (close fil) (setq dcl (load_dialog fic)) (new_dialog "exl" dcl "") (set_tile "titre" titre) (set_tile "gab" gab) (bascule) (and dwg (affiche_txt dwg)) (start_list "sel") (mapcar 'add_list lst) (end_list) (action_tile "sel" "(setq val $value)") (action_tile "gab" "(setq gab $value)(bascule)") (action_tile "par" "(parcourir)") (action_tile "accept" "(done_dialog 1)") (action_tile "cancel" "(done_dialog 0)") (setq res (start_dialog)) (unload_dialog dcl) (vl-file-delete fic) (and dwg (setenv "Patrick_35_Gabarit_Exl" dwg)) (and gab (setenv "Patrick_35_Bouton_Gabarit" gab)) (list res val) ) (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object)) def (vla-get-activelayout doc) bou 1 s *error* *error* *errexl* ) (vla-startundomark doc) (acad-push-dbmod) (vlax-for lay (vla-get-layouts doc) (setq lst_base (cons (cons (vla-get-taborder lay) lay) lst_base )) ) (while (assoc bou lst_base) (setq liste_lay (cons (vla-get-name (cdr (assoc bou lst_base))) liste_lay ) bou (1+ bou) ) ) (and (= (car (setq res (bda "Exl 1.11" (reverse liste_lay)))) 1) (setq res (cadr res)) (while (not (eq res "")) (setq lst nil obj nil val (read res) lay (cdr (assoc (1+ val) lst_base)) act (vla-get-name lay) ) (and (ssget "x" (list (cons 0 "viewport") (cons 410 act))) (progn (princ (strcat "\nTraitement pour l'onglet : " act))(princ) (vlax-for fen (setq sel (vla-get-activeselectionset doc)) (vla-getxdata fen "" 'cod 'cal) (setq cod (vlax-safearray->list cod) cal (vlax-safearray->list cal) bou 0 ) (while (setq nom (nth bou cal)) (and (eq (nth bou cod) 1003) (not (member nom lst)) (setq lst (cons (vlax-variant-value nom) lst)) ) (setq bou (1+ bou)) ) ) (vla-delete sel) (setq dbx (vlax-create-object (if (< (setq rel (atoi (getvar "ACADVER"))) 16) "ObjectDBX.AxDbDocument" (strcat "ObjectDBX.AxDbDocument." (itoa rel)) ) ) ) (and (eq (getenv "Patrick_35_Bouton_Gabarit") "1") (vl-catch-all-apply 'vla-open (list dbx (getenv "Patrick_35_Gabarit_Exl"))) ) (ssget "x" (list (cons 67 0))) (vlax-for ent (setq sel (vla-get-activeselectionset doc)) (or (member (vla-get-layer ent) lst) (setq obj (cons ent obj)) ) ) (vla-delete sel) (vla-copyobjects doc (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray vlax-vbobject (cons 0 (1- (length obj)))) obj ) ) (vla-get-modelspace dbx) ) (vla-copyobjects doc (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray vlax-vbobject (cons 0 0)) (list lay) ) ) (vla-get-layouts dbx) ) (vla-saveas dbx (setq nom (strcat (vla-get-path doc) "/" (vl-filename-base (vla-get-name doc)) " - " act ".dwg"))) (vlax-release-object dbx) (setq dbx (vla-open (vla-get-documents (vlax-get-acad-object)) nom)) (vlax-for ent (vla-get-layouts dbx) (cond ((eq (vla-get-name ent) act) (vla-put-activelayout dbx ent) ) ((/= (vla-get-name ent) "Model") (vla-delete ent) ) ) ) (vla-close dbx :vlax-true) ) ) (setq res (substr res (+ 2 (strlen (itoa val))) (strlen res))) ) (alert "Traitement des onglets terminés.") ) (acad-pop-dbmod) (vla-endundomark doc) (setq *error* s) (princ) ) (setq nom_lisp "EXL") (if (/= app nil) (if (= (strcase (substr app (1+ (- (strlen app) (strlen nom_lisp))) (strlen nom_lisp))) nom_lisp) (princ (strcat "..." nom_lisp " chargé.")) (princ (strcat "\n" nom_lisp ".LSP Chargé.....Tapez " nom_lisp " pour l'éxecuter."))) (princ (strcat "\n" nom_lisp ".LSP Chargé......Tapez " nom_lisp " pour l'éxecuter."))) (setq nom_lisp nil) (princ)
-
Salut, il y a plus simple. Il suffit de "vider la liste de points topo" Cov2d > Pttopo > Creer la liste de point >remplacer et annuler pout sortir de la fenetre! Covadis ne connais plus la liste et tu peux reprendre une numerotation à 1 si tu veux. refaire le vidage à chaque fois! Amicalement
-
Salut il s'agit surement du parametre de hauteur de décaissement de ta plateforme. Si tu le met à 0 tu trouvera le meme résultat que la cubature par prisme entre 2 mnt
-
Salut, ton bonheur se trouve dans covadis 2d -> listing -> comparaison de points. Bon courage.
-
Récupérer la liste des calques gelés dans une fenêtre de présentation
Cyrchap a répondu à un(e) sujet de Dieunis dans Débuter en LISP
Il n'y a pas besoin d'un lisp! La création d'un filtre dans le gestionnaire de calque ( Gel de la fenetre eteint) le fait tres bien. Une fois le filtre créé, dans EP je rentre dans EO, je clique sur geler de mon filtre. ( il y a tous les calque gelé de la fenetre qui s'applique à l'objet, ensuite ]e sort de la presentation et je vais dans Objet et uniquement les calques de ma présentation sont activé. A+ -
Salut, a lire dans la doc: "calcul topo et geocodification V10" "La case à cocher permet de caler préalablement les points sur les points de controle en faisant une rotation et une translation. Cela ne modifie pas la géométrie du levé et l'on s'affranchit ainsi des erreurs de rattachement. C'est donc la précision interne du levé qui est alors évalué."
-
décaler les textes chevauchés de profils covadis
Cyrchap a répondu à un(e) sujet de fredbross dans Routines LISP
Salut l'idée est bonne mais il faudrait peut etre pouvoir faire une selection, sinon on ne maitrise pas les modifications. Si tu as un gros fichier .... Il faudrait, soit agir sur une selection de calque, soit donner une zone à traiter. A suivre -
Supeeeeer!!! Testé et approuvé ! Merci Patrick_35
-
Salut, je viens de découvrir le lisp de partick_35 EXL pour exporter des fenetres de presentation ( super!! )mais j'ai une question. Peut etre que le "créateur" aura plus facilement la réponse, mais bon, la question est ouverte à tous. Quel est lors de la création du nouveau fichier exporter, le gabarit qui est utilisé ? et sinon est il possible de faire un choix sur le gabarit a prendre em compte lors de la création du nouveau fichier et l'intergrer dans le lisp ? Merci pour vos réponse.
-
Salut, pour répondre a la 1 ere question: Tel le support Géomedia et demande leur de t'envoyer le lisp suivant: SYMBS3D.LSP ça affecte le Z du point topo au bloc.
-
Les ATTRIBUTS avec commandes DIVISER et MESURER !!!!!
Cyrchap a répondu à un(e) sujet de rebcao dans AutoCAD 2010
Salut ! Est-ce que Battman ne pourrait pas te venir en aide ? -
TotalArea & TotalPerim, nouvelles versions
Cyrchap a répondu à un(e) sujet de (gile) dans Routines LISP
Salut, effectivement ça fonctionne, mais j'ai une remarque. La surface totale est l'addition bete et mechante de toutes les surfaces des contours (avec toutes les décimalees, ce qui sert de controle ok) mais il serait sympa d'avoir la possibilité d'avoir le total des surfaces arrondi une à une. Un exemple j'ai 2 contours un de 244.235 m² et l'autre de 515.265 m² le total brut donne 759.50 si l'on met la variable aeraprec à 0 l'affichage du résultat donne 760 m² alors que l'addition des 2 contours arrondi donne 244 + 515 soit 759 m². Pour ceux qui travaillent dans le foncier on est toujours au m². Alors on a des programmes super, mais au final il faut toujours se taper une super addition à la main avec les valeurs arrondi pour avoir un résultat juste! Rajouter une coche pour spécifier de quelle maniere on veut le resultat serait bien non ?? Merci d'avance -
Répartir les type d\'objets en calques
Cyrchap a répondu à un(e) sujet de Cyrchap dans Routines LISP
Ok effectivement avec (vl-load-com) en + ça roule. J'ai testé, j'ai validé, j'ai rien à dire sauf merci Le ménage et le tri dans les fichiers que je reçois sera plus facile. Merci encore Salut -
Répartir les type d\'objets en calques
Cyrchap a répondu à un(e) sujet de Cyrchap dans Routines LISP
Merci Patrick_35 mais le lisp ne fonctionne pas, j'ai une erreur dans la ligne de commande apres avoir lancé la commande tri. ; erreur: no function definition: VLAX-GET-ACAD-OBJECT ça va pas plus loin, j'ai récuperé tes lignes par copier collé, je ne pense pas avoir oublié quelque chose. Je suis sur map2008 est ce a cause de cela ou pas ???? Merci A+ -
Salut à tous, Y a t'il quelqu'un qui a connaissance d'un lisp qui réparti les types d'objet (texte, ligne, hachures, blocs..) qui sont inserés dans un calque vers des "sous" calques. Exemple dans 1 fichier il y a plusieurs calques A, B, C dans A il y a des entités polyligne texte et hachure, dans B il y a des textes et des polylignes 3d et des blocs etc... Au final je voudrais que le calque A se decompose en A_Texte, A_hachures, A_Poly et que B devienne B_Texte, B_poly3d, B_blocs etc....de meme pour tous les autres calques du fichier. Quand le fichier est simple avec les filtres on y arrive, mais avec des fichiers plus complexe la tache devient lourde. Merci pour votre aide
-
Salut ! J'ai appelé le support hier en fin de journée pour ce problème, et ils m'ont dit que c'été normal. Mise à jour en cours sur le serveur. Il faut patienter !! A+
-
Salut 2 solutions sont possibles ---Soit dans les options Outil-option-Covadis topo il suffit de decocher demander l'echelle et de mettre ton echelle par defaut a 1/1 ---Soit il faut creer un gabarit avec l'echelle que tu veut et la plus de question :exclam:
-
supprimer un attribut dans définition de point
Cyrchap a répondu à un(e) sujet de papagaille dans Covadis
Salut! Tous dépend si tu a déja inséré les pts, Si le fichier est vide de pointsil faut changer la définition du point fichier *.bpt. Il suffit de supprimer la création de l'attribut. Si les points sont insérés tu peut essayer avec les express tools Layers-> layer delete ->type pour donner le nom (il faut le taper a la main)valider le choix 2 fois par "yes" et ensuite le tour est joué. Il faut faire attention de ne pas enlever les matricules car ensuite covadis ne reconnait plus le point. Sinon tu peut reécrire ton semi dans un format quelquonque, purger tes blocs et réinserer ton semi avec la bonne définition de point sans l'attibut "code symbole" -
Salut ! pour sx c'est une commande spécifique réécrit pour simplifier son utilisation et pour je pense les utilisteurs de covadis (Ste Géomédia). Quand a sont utilité elle est tres pratique + que filtre car par exemple pour changer de calque, de couleur des entités de meme propriéte c'est extras. Exemple je veut selectionner tous le blocs "toto" il me suffit de taper sx de désigner l'objet et le tour est joué j'ai une selection de mes blocs "toto" qui sont dans le meme calque et qui ont les memes propriétés que l'objet désigné.Un clic sur l'icone selection d'objet, un p pour le rappel de la selection précedente et voila .cela fonctionne pour tout type d'entité et c'est vramaint plus rapide que le filtre.biensur pour d'autres selection plus complexe le commande filter est + puissante. Voila d'autres eclaircissement A+
