seb97320 Posté(e) le 27 août 2012 Auteur Posté(e) le 27 août 2012 Est-ce que ça veut dire que tu traces à chaque fois sur un dessin existant que tu modifies ? Car dans ce cas effectivement moins rentable de partir d'un gabarit Ne t'arrives-t-il pas de faire un dessin complet de A à Z ?Ne connaissant pas ta méthode de travail ce n'est pas évident de donner des conseils Bonjour, Je travail en BET VRD. la plupart du temps, j'importe des plan de masse sur un nouveau fichier donc sur mon gabarit.mais il m'arrive de travailler sur des fichiers existants sur lequel on dessine dessus.voilà pour la méthode. Donc je vais mettre ces types de lignes dans mon fichier gabarit comme à préciser lili2006. je vais également essayer le lisp de Patrick. Merci
seb97320 Posté(e) le 27 août 2012 Auteur Posté(e) le 27 août 2012 Salut Pour le lisp, la commande GST fonctionne bien par contre la suivante m'indique une erreur " Limite supérieure de SAFEARRAYBOUND est plus petite que la limite inférieure".De quoi s'agit-il ? Sinon j'ai mis mes types de lignes sur mon fichier gabarit.... Merci
Patrick_35 Posté(e) le 28 août 2012 Posté(e) le 28 août 2012 Salut De quoi s'agit-il ?Apparement d'un bug.Si tu pouvais me donner un exemple avec les types de lignes que tu importes pour que je regarde. Cela me surprend quand même, car chez moi, tout fonctionne.Surement une particularité à comprendre. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
seb97320 Posté(e) le 28 août 2012 Auteur Posté(e) le 28 août 2012 Salut, Il s'agit de type de ligne basé, je pense, sur une définition similaire au type de ligne Gas, défini en base. @+
lili2006 Posté(e) le 31 août 2012 Posté(e) le 31 août 2012 Bonjour à toutes et tous, Salut Patrick, Testé sur un MAP 2012 (Vista 32 bits) MAIS sans lignes "particulières", c'est à dire juste les 3 de base, surement une raison,...=> Commande: GST Utilisation: (acad_strlsort ); erreur: type d'argument incorrect: stringp nil En sélectionnant un fichier avec quelques types de lignes "acad", voici le résultat : Commande: gst; erreur: type d'argument incorrect: stringp nil Commande: De plus, si c'est un format ".dwg", il ouvre le dessin, hors ce n'est pas ce qui est souhaité je suppose,...Ou alors, j'ai pas compris !:( Quelqu'un aurait-il un fichier représentatif que l'on puisse faire les mêmes tests SVP ? Merci d'avance, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Patrick_35 Posté(e) le 3 septembre 2012 Posté(e) le 3 septembre 2012 Salut Pour le lisp, la commande GST fonctionne bien par contre la suivante m'indique une erreur " Limite supérieure de SAFEARRAYBOUND est plus petite que la limite inférieure".Correction d'un bug qui faisait un import sur rien, car comme les styles de lignes sont déjà dans le dessin, elles ne sont plus importées. Utilisation: (acad_strlsort <liste de chaînes>); erreur: type d'argument incorrect: stringp nilMême type d'erreur que celle du dessus car les trois type de lignes de bases ne sont pas importées car déjà dans le dessin.C'est DUBLOC, DUCALQUE et CONTINUOUS. Commande: gst; erreur: type d'argument incorrect: stringp nilJ'ai pas reussi à reproduire l'erreur. Peut-être avec la nouvelle version (defun Ouvrir_dessin_dbx(dwg / dbx doc lan rel DLLRegister ProgID->ClassID DBX-Register Get-ObjectDBX) ; Calls REGSVR32 to Register a DLL silently (defun DLLRegister (dll) (startapp "regsvr32.exe" (strcat "/s \"" dll "\""))) ; Returns the ProgID for a given ClassID if found in registry (defun ProgID->ClassID (ProgID) (vl-registry-read (strcat "HKEY_CLASSES_ROOT\\" progid "\\CLSID"))) ; Try to Register ObjectDBX if not done so already ; Returns the Class Name if already registered / sucessfully registered ; Else returns nil if failure (defun DBX-Register (classname filename / server acver) (cond ((not (and classname filename)) (DBX-Register (strcat "ObjectDBX.AxDbDocument." (itoa (setq acver (atoi (getvar 'ACadVer))))) (strcat "AxDb" (itoa acver) ".dll") ) ) ((ProgID->ClassID classname) classname) ((setq server (findfile filename)) (cond ((and (DLLRegister server) (ProgID->ClassID classname)) classname) (t nil) ) ) (t (DBX-Register "ObjectDBX.AxDbDocument" "AxDb.dll")) ) ) ; Try to reference ObjectDBX - returns the ActiveX object if sucessful ; Else returns nil if failure (defun Get-ObjectDBX (/ classname) (if (setq classname (DBX-Register nil nil)) (vla-getinterfaceobject (vlax-get-acad-object) classname) ) ) (and (setq dwg (findfile dwg)) (progn (vlax-for doc (vla-get-documents (vlax-get-acad-object)) (and (eq (strcase (vla-get-fullname doc)) (strcase dwg)) (setq dbx doc lan T) ) ) (and (not dbx) (setq dbx (Get-ObjectDBX)) (vla-open dbx dwg) ) ) ) (list dbx lan) ) (defun c:gst(/ bda dbx doc lin lst rec res) (defun bda(titre dwg lst / dcl fil n pos res tmp txt) (setq tmp (vl-filename-mktemp "ret" nil ".dcl") fil (open tmp "w") ) (foreach txt (list "gst : dialog {" "key = \"titre\";" "fixed_width = true;" "alignment = centered;" "is_cancel = true;" "width = 60;" (strcat ": list_box {label = \"Styles de lignes depuis " (vl-filename-base dwg) (vl-filename-extension dwg) "\";") " key = \"lst\";" " height = 20;" " multiple_select=true;}" "spacer;" "ok_cancel;" "}" ) (write-line txt fil) ) (close fil) (setq dcl (load_dialog tmp)) (new_dialog "gst" dcl "") (start_list "lst") (mapcar 'add_list lst) (end_list) (set_tile "titre" titre) (action_tile "lst" "(setq pos $value)") (action_tile "accept" "(done_dialog 1)") (action_tile "cancel" "(done_dialog 0)") (and (eq (start_dialog) 1) (progn (while (not (eq pos "")) (setq n (read pos) res (cons (nth n lst) res) pos (substr pos (+ 2 (strlen (itoa n))) (strlen pos)) ) ) ) ) (unload_dialog dcl) (vl-file-delete tmp) (reverse res) ) (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (if (setq rec (getenv "Patrick_35_Style_Ligne_Fichier")) (or (findfile rec) (setq rec (strcat (vl-filename-directory rec) "/"))) (setq rec (strcat (vla-get-templatedwgpath (vla-get-files (vla-get-preferences (vlax-get-acad-object)))) "/")) ) (and (setq rec (getfiled "Choix d'un Gabarit" rec "dwt;dwg;dxf" 8)) (car (setq dbx (Ouvrir_dessin_dbx rec))) (progn (vlax-for ent (vla-get-linetypes (car dbx)) (or (wcmatch (strcase (setq lin (vla-get-name ent))) "*|*,CONTINU*,BYLAYER,BYBLOCK") (setq lst (cons lin lst)) ) ) (if lst (and (setq lst (bda "GST v1.00" rec (acad_strlsort lst))) (setq n 0) (progn (while (setq ent (nth n lst)) (setenv (strcat "Patrick_35_Style_Ligne_" (itoa n)) ent) (setq n (1+ n)) ) (setenv "Patrick_35_Style_Ligne_Total" (itoa n)) (setenv "Patrick_35_Style_Ligne_Fichier" rec) (princ "\nStyles de lignes mémorisés.") ) ) (alert "Pas de types de lignes à charger.") ) (or (cadr dbx) (vlax-release-object (car dbx))) ) ) (princ) ) (defun c:cst(/ dbx doc ent fic lst n rec tab) (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (or (getenv "Patrick_35_Style_Ligne_Fichier") (c:gst)) (and (setq rec (getenv "Patrick_35_Style_Ligne_Fichier")) (if (setq fic (findfile rec)) (and (car (setq dbx (Ouvrir_dessin_dbx rec))) (progn (setq n 0) (while (< n (atoi (getenv "Patrick_35_Style_Ligne_Total"))) (setq lst (cons (getenv (strcat "Patrick_35_Style_Ligne_" (itoa n))) lst) n (1+ n) ) ) (vlax-for ent (vla-get-linetypes (car dbx)) (and (member (strcase (setq lin (vla-get-name ent))) lst) (not (tblsearch "ltype" lin)) (setq tab (cons ent tab)) ) ) (and tab (vla-copyobjects (car dbx) (vlax-safearray-fill (vlax-make-safearray vlax-vbObject (cons 0 (1- (length tab)))) tab ) (vla-get-linetypes doc) ) ) (or (cadr dbx) (vlax-release-object (car dbx))) (princ (strcat "\nImportation de " (itoa (length tab)) " styles de lignes.")) ) ) (alert (strcat "Le fichier " rec " est introuvable.\nVeuiller lancer GST pour définir un nouveau Gabarit.")) ) ) (princ) ) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
lgnico Posté(e) le 25 août 2017 Posté(e) le 25 août 2017 Bonjour à tous, allez c'est le retour des congés et j'aurais besoin d'un service.Je cherche à récupérer les types de ligne du fichier (lien : https://drive.google.com/open?id=0B_k1ENht-FzWb3hzUTBvM1ppWDQ) Une âme charitable pourrait elle me faire la manipulation pour me la mettre en .lin ? Merci d'avance Nicolas
DenisHen Posté(e) le 25 août 2017 Posté(e) le 25 août 2017 Salut. J'ai utilisé le Lisp LINOUT.VLS trouvé sur www.cadstudio.cz, Voici le contenu du fichier LIN :; Linetypes exported by LinOut.lsp from C:\Users\***\Downloads\Dessin2.lin ; ; LINOUT by CAD Studio - www.cadstudio.cz ; *CACHE2,Caché (x.5) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ A,3.175,-1.5875 *FOSSÉ 2,- - - - - - - - - - - - - - - - - - - - - - - - A,6,-6,["è",WINDINGS,s=4,r=9,x=-2,y=-1.7],-6 *400,400 ----400----400----400----400----400----400-- A,12.7,-5.08,["400",Standard,s=2.54,r=9,x=-2.54,y=-1.27],-6.35 *300,300 ----300----300----300----300----300----300-- A,12.7,-5.08,["300",Standard,s=2.54,r=9,x=-2.54,y=-1.27],-6.35 *( DASHED ),Dashed line stroke pattern A,0.5,-0.25 *800,800 ----800----800----800----800----800----800-- A,12.7,-5.08,["800",Standard,s=2.54,r=9,x=-2.54,y=-1.27],-6.35 *500,500 ----500----500----500----500----500----500-- A,12.7,-5.08,["500",Standard,s=2.54,r=9,x=-2.54,y=-1.27],-6.35 *600,600 ----600----600----600----600----600----600-- A,12.7,-5.08,["600",Standard,s=2.54,r=9,x=-2.54,y=-1.27],-6.35 Attention, j'ai souvent eu des différence de rotation des symboles compris dans les types de lignes. Ça se règle avec le "r=" dans les types de lignes. Tu as aussi le DesignCenter [CTRL] + 2. Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
lgnico Posté(e) le 30 août 2017 Posté(e) le 30 août 2017 comment tu fais avec le vls pour récupérer les infos sur la ligne? Nicolas
DenisHen Posté(e) le 31 août 2017 Posté(e) le 31 août 2017 comment tu fais avec le vls pour récupérer les infos sur la ligne?Je n'ai pas compris... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant