Aller au contenu

Récupérer type de ligne


seb97320

Messages recommandés

Salut,

oui c'est tout à fait possible

Il suffit de chercher le fichier Acadiso.lin dans les fichiers supports d'autocad et de les ajouter

en respectant bien la syntaxe

Par sécurité enregistrer le fichier avant de le transformer en le renommant Acadiso_ORIGINE.lin par exemple

@+

Studio Gfilm - Agence de communication par l'image

 

"Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"

Lien vers le commentaire
Partager sur d’autres sites

En recherchant dans le fichier acadiso.lin, je ne trouve que les types de lignes usuels.

Je reformule ma demande, j'ai un fichier sur lequel il y a plusierus type de ligne que j'aimerais bien utiliser pour d'autres fichiers.

donc où puis-je trouver la définition de ces types de lignes pour les copiers et les intégrer au fichier acadiso.lin?

 

je précise que j'ai un map3D 2012 avec Covadis.

 

 

Merci

Lien vers le commentaire
Partager sur d’autres sites

Autant pour moi, tu parle d'un fichier DWG :blink: :huh:

Comment savoir, j'avais cru comprendre qu'il s'agissait d'un fichier .lin

N'ayant pas totcrade sous la main je regarde ça demain

@+

Studio Gfilm - Agence de communication par l'image

 

"Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"

Lien vers le commentaire
Partager sur d’autres sites

Salut,

si celui qui envoi le fichier a utilisé Etransmit, le type de ligne apparaît correctement sur le dessin

Seulement quand on saisi TL (TYPELIGNE) pour charger un type de ligne il y a un message d'erreur et le type de ligne n'apparaît effectivement pas dans la liste.

Il est donc transmit de façon différente

Dans le fichier zip du transmit il y a entre autre 2 fichiers qui doivent être utilisés pour transmettre le type de ligne, un .fmp de mappage de police et un .txt d'explication, mais rien qui soit récupérable pour utiliser dans Acadiso.lin

Dans le .txt chez moi, il précise bien :

"Les fichiers suivants n'ont pas été transmis:

Fonts\TAL-GAU.shx" (qui est en l'occurence mon type type de ligne qui apparait tout a fait correctement)

Studio Gfilm - Agence de communication par l'image

 

"Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

Il existe un lisp des express tools qui fait ça,...

Hey ! déjà sur la brèche, pourtant ça n'est pas encore la rentrée ;) ... quoi que ça s'approche à grands pas

Je crois que Make line type [MKLTYPE] et Make shape [MKSHAPE] sont plutot fait pour créer des types de ligne

 

A seb97320

J'ai parlé un peu trop vite ce matin, mon type de ligne apparaît bien dans le dossier support sous la forme d'un fichier.

Il suffit donc de le charger en choisissant ce fichier à la place de Acadiso.lin

Ou bien de copier les 2 lignes de code dans Acadiso.lin et de charger ce type

Studio Gfilm - Agence de communication par l'image

 

"Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Hey ! déjà sur la brèche, pourtant ça n'est pas encore la rentrée wink.gif ... quoi que ça s'approche à grands pas

 

Vi !:rolleyes:

 

N'ayant pas AutoCAD sous le coude, je pensais que l'on pouvait également "recopier" un type de ligne avec une de ces fonctions,...:blink:

 

Quelqu'un pourrait vérifier SVP ?

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Salut Patrick,

 

 

 

Ah oui, ça marche ça ? Mais c'est juste une copie du type de ligne, n'est-ce pas ?

Ben oui, si j'ai bien compris, vous cherchez à importer un type de ligne depuis un dwg (ouvert ou pas)

DesignCenter le fait très bien et même plus comme recopier des calques, des blocs, etc...

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Dur la reprise après les vacances :unsure:

Du moment que tu retrouves ta femme et tes enfants <img src='http://cadxp.com/public/style_emoticons/<#EMO_DIR#>/laugh.gif' class='bbc_emoticon' alt=':(rires forts):' />

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Merci pour vos réponses,

 

je souhaite en fait, récupérer ces types de lignes et les mettre dans le fichier acadiso.lin pour les avoir pour chaque nouveau dessin.

le fichier dwg n'a pas été transmis avec la commande etransmit donc je ne peux pas copier la définition du type de ligne.

 

je les vois dans le design center mais cela veut dire que je devrais ouvrir et charger ces types de lignes à chaque nouveaux dessin...pas très pratique.

 

A+

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Je souhaite en fait, récupérer ces types de lignes et les mettre dans le fichier acadiso.lin

 

C'est ce que j'avais compris Patrick,...<_>

 

je les vois dans le design center mais cela veut dire que je devrais ouvrir et charger ces types de lignes à chaque nouveaux dessin...pas très pratique.

 

Non, sur un gabarit, par exemple,...

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

Tu peux essayer l'outil de Bruno : Obtenir la description d'un type de ligne appliqué à un objet (et non au calque) à l'écran de texte d''AutoCad le lisp -> model_typline.lsp

http://bonuscad.perso.sfr.fr/

Ah, je savais bien que BonusCad avait écrit quelque chose sur ce sujet.

J'ai cherché sur le forum en vain.

 

Dès que j'ai un peu de temps, je regarde pour importer le/les styles de lignes depuis un fichier existant à partir d'un lisp. Il restera à affecter un bouton au lisp.

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

J'ai essayé le lisp de Bonuscad, il a l'air de fonctionner au lancement.

Il me demande de sélectionner un typeligne mais là, il ne prend aucune sélection. ????

 

Lili2006, je ne connais pas la méthode pour récupérer ces types de lignes et les mettre sur un gabarit.

 

Sinon, Merci de votre aide..

 

Sébastien

Lien vers le commentaire
Partager sur d’autres sites

Lili2006, je ne connais pas la méthode pour récupérer ces types de lignes et les mettre sur un gabarit.

Salut,

Je me permet de répondre à la place de lili2006

Si tu créer de nouveau dessins à chaque fois, il est intéressant d'utiliser toujours la même base

C'est un peu le principe du enregistrer sous, qui part d'un dessin existant pour le renommer, effacer, et faire un nouveau dessin à la place.

Avec ce principe on utilise tous les calques déjà existants, les types de ligne etc.

Pour récupérer les types de ligne il suffit de les faire glisser sur l'espace graphique du nouveau gabarit via le Design Center comme l'a dit Patrick

Modifié par FormaBois

Studio Gfilm - Agence de communication par l'image

 

"Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"

Lien vers le commentaire
Partager sur d’autres sites

 

Avec ce principe on utilise tous les calques déjà existants, les types de ligne etc.

Pour récupérer les types de ligne il suffit de les faire glisser sur l'espace graphique du nouveau dessin via le Design Center comme l'a dit Patrick

 

 

Merci Formabois,

 

mais si je comprends bien ce que tu as écris, cela reviens à ce que j'ai dit plus haut. il faut à chaque nouveau dessin ouvrir le design center et faire glisser les types de ligne.

ce n'est pas exactement ce que je souhaite

 

A+ et bon weekend à tous

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Avec ce principe on utilise tous les calques déjà existants, les types de ligne etc.

Pour récupérer les types de ligne il suffit de les faire glisser sur l'espace graphique du nouveau dessin via le Design Center comme l'a dit Patrick

 

Et après, tu fais enregistrez-sous en choisissant l’extension ".dwt", ce que l'on appelle "un gabarit",...

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

mais si je comprends bien ... il faut à chaque nouveau dessin ouvrir le design center et faire glisser les types de ligne.

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

Studio Gfilm - Agence de communication par l'image

 

"Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

Voici un lisp qui automatise l'import de styles de lignes.

 

Tu lances GST afin de définir le fichier source (dwt, dwg ou dxf)

Tu choisis tous les types de lignes qui t'interesse.

 

Tu lances dans un autre dessin CST qui importe les types de lignes définies auparavant.

 

Le lancement du lisp peut-être automatique (via _appload)

Le fichier source peut-être sur le réseau.

 

(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))
)
     )
     (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.")
)
     )
     (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))
    )
  )
  (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)))
)
     )
     (alert (strcat "Le fichier " rec " est introuvable.\nVeuiller lancer GST pour définir un nouveau Gabarit."))
   )
 )
 (princ)
)

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité