Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Layername als Linientyp machbar ?

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Layername als Linientyp machbar ? (1745 mal gelesen)
Goofy007
Mitglied
Vermessungstechniker


Sehen Sie sich das Profil von Goofy007 an!   Senden Sie eine Private Message an Goofy007  Schreiben Sie einen Gästebucheintrag für Goofy007

Beiträge: 578
Registriert: 06.11.2004

Map3D 2018 und Civil3D 2018

erstellt am: 02. Feb. 2005 16:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

ich soll für einen Kunden einen Plot erstellen, in welchem die (Poly)Linien mit ihren Layernamen beschriftet sind. (Es geht um unterschiedliche Leitungsarten/Materialien/Dimensionen). Ich dachte nun daran mir Linientypen zu definieren und den Layern zuzuordnen. Da aber die Anzahl der Layer relativ groß ist, stellt sich nun die Frage ob man hier mit Variablen (sowas wie RText) arbeiten kann.
Ich möchte also einen Linientyp der aus einer durchgezogenen Linie besteht und in periodischen Abständen den Layernamen wiedergibt.

Hat jemand eine Idee wie ich das einigermaßen rationell machen kann?

mfg Didi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadffm
Moderator
良い精神




Sehen Sie sich das Profil von cadffm an!   Senden Sie eine Private Message an cadffm  Schreiben Sie einen Gästebucheintrag für cadffm

Beiträge: 21533
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 02. Feb. 2005 16:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Goofy007 10 Unities + Antwort hilfreich

da geht nichts anderes wie jeden "per Hand" erstellen
(äußerst dämlich sowas... aber sicher schön anzusehen  )

*HEISSWASSERLEITUNG,Heißwasserleitung ---- HW ---- HW ---- HW ----
A,.5,-.2,["HW",STANDARD,S=.1,R=0.0,X=-0.1,Y=-.05],-.2

so schaut´s aus... [in der Hilfe gut beschrieben]

und das ganze eben dann zig mal.
(markieren - suchen/ersetzen hilft schonmal)
Ist aber dann "Fest" , nichts mit variabel wie zB RText..

eine Eigen *.lin kreieren und los geht´s

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Goofy007
Mitglied
Vermessungstechniker


Sehen Sie sich das Profil von Goofy007 an!   Senden Sie eine Private Message an Goofy007  Schreiben Sie einen Gästebucheintrag für Goofy007

Beiträge: 578
Registriert: 06.11.2004

erstellt am: 02. Feb. 2005 18:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo cadffm,

ja genau so hab ich mir das vorgestellt! Also dann doch ... mühsam ernährt sich das Eichhörnchen ... du hast übrigens recht, dämlich aber schön ... aber Kunde = König 

LG
Didi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kajomies
Mitglied
Architekt


Sehen Sie sich das Profil von kajomies an!   Senden Sie eine Private Message an kajomies  Schreiben Sie einen Gästebucheintrag für kajomies

Beiträge: 263
Registriert: 08.03.2001

erstellt am: 03. Feb. 2005 09:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Goofy007 10 Unities + Antwort hilfreich


bline.zip

 
Hallo zusammen,
und dann gibts noch die möglichkeit dies über ein kleines Lisp herzustellen.z.B. Bline

Probiersmal aus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 03. Feb. 2005 13:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Goofy007 10 Unities + Antwort hilfreich

hab mal was gebastelt:
(defun C:LTYPES->Layer ( / DATEI LAYER LAYERNAME LTPS OLDCMD Block)
  (vl-load-com)
  (setq DNAME (strcat (getvar "SAVEFILEPATH") "\\Temp.lin"))
  (if(setq DATEI(open DNAME"w"))   
    (progn     
      (While (setq LAYER (tblnext "LAYER" (null LAYER)))
        (setq LAYERNAME (cdr(assoc 2 LAYER)))
        (setq LTPS(cons LAYERNAME LTPS))
        (princ(strcat "*" LAYERNAME ",-" LAYERNAME "-\n" )DATEI)
        (princ(strcat "A,3,-1,[\"" LAYERNAME"\",STANDARD,S=.4,R=0.0,X=-0.1,Y=-.2],-2\n")DATEI)
      )
      (close DATEI)
      (setq OLDCMD (getvar "CMDECHO"))
      (setvar "CMDECHO" 0)     
      (foreach LT LTPS
        (if(tblsearch "LTYPE" LT) 
          (progn
            (command "_-linetype"
                    "_l"
                      LT
                      (findfile DNAME)
                      "_y"
                      ""
            )
          )
          (progn
            (command "_-linetype"
                    "_l"
                    LT
                    (findfile DNAME)
                        ""
            )
          )             
        )
      ) 
      (vl-file-delete(findfile DNAME))
      (setvar "CMDECHO" OLDCMD)                         
    )   
  )
  (vlax-for LAYOUT (vla-get-layouts(vla-get-activedocument(vlax-get-acad-object)))   
    (vlax-for ITEM (setq BLOCK (vla-get-Block LAYOUT))
      (vl-catch-all-error-p
        (vl-catch-all-apply                 
          'vla-put-Linetype
          (list ITEM
                (vla-get-layer ITEM)
          )         
        )
      ) 
    )                                           
    (vlax-for BLOCK (vla-get-blocks(vla-get-activedocument(vlax-get-acad-object)))
      (vlax-for ITEM BLOCK
        (vl-catch-all-error-p
          (vl-catch-all-apply                 
            'vla-put-Linetype
            (list ITEM
              (vla-get-layer ITEM)
            )         
          )
        )
      ) 
    )
  )
)

------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Goofy007
Mitglied
Vermessungstechniker


Sehen Sie sich das Profil von Goofy007 an!   Senden Sie eine Private Message an Goofy007  Schreiben Sie einen Gästebucheintrag für Goofy007

Beiträge: 578
Registriert: 06.11.2004

erstellt am: 03. Feb. 2005 14:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

@kajomies
Danke aber das Lisp geht doch ziemlich weit an der Problemstellung vorbei. (Ich möchte Linientypen definieren, bline.lsp setzt Blöcke, und das auch noch interaktiv)

@CADmium
Danke auch dir, das sieht nach dem aus was ich brauche aber leider kommt erst mal nur folgende Fehlermeldung:
Befehl: ltypes->layer
; Fehler: Fehlerhafter Argumenttyp: stringp nil
Meine Lisp-Kenntnisse reichen leider nicht aus (sind ja eigentlich noch gar nicht vorhanden) um zu Erkennen, ob das Prog einen Fehler hat, oder ob ich was falsch mache.

mfg
Didi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 03. Feb. 2005 14:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Goofy007 10 Unities + Antwort hilfreich

ok, ersetze mal die Zeile
(setq DNAME (strcat (getvar "SAVEFILEPATH") "\\Temp.lin"))
durch
(setq DNAME "c:\\Temp.lin")
und probiers noch mal

------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Goofy007
Mitglied
Vermessungstechniker


Sehen Sie sich das Profil von Goofy007 an!   Senden Sie eine Private Message an Goofy007  Schreiben Sie einen Gästebucheintrag für Goofy007

Beiträge: 578
Registriert: 06.11.2004

erstellt am: 03. Feb. 2005 14:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

@kajomies
Danke aber das Lisp geht doch ziemlich weit an der Problemstellung vorbei. (Ich möchte Linientypen definieren, bline.lsp setzt Blöcke, und das auch noch interaktiv)

@CADmium
Danke auch dir, das sieht nach dem aus was ich brauche aber leider kommt erst mal nur folgende Fehlermeldung:
Befehl: ltypes->layer
; Fehler: Fehlerhafter Argumenttyp: stringp nil
Meine Lisp-Kenntnisse reichen leider nicht aus (sind ja eigentlich noch gar nicht vorhanden) um zu Erkennen, ob das Prog einen Fehler hat, oder ob ich was falsch mache.

mfg
Didi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Goofy007
Mitglied
Vermessungstechniker


Sehen Sie sich das Profil von Goofy007 an!   Senden Sie eine Private Message an Goofy007  Schreiben Sie einen Gästebucheintrag für Goofy007

Beiträge: 578
Registriert: 06.11.2004

Map3D 2018 und Civil3D 2018

erstellt am: 03. Feb. 2005 14:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo CADmium,

Danke das wars, echt super!
Ich werd dir gleich noch 10 Us überweisen.
Kauf dir was schönes 

mfg Didi

PS: hatte vorhin Probleme mit der Verbindung, deshalb versehentlich doppelt gepostet.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADwiesel
Moderator
CAD4FM UG




Sehen Sie sich das Profil von CADwiesel an!   Senden Sie eine Private Message an CADwiesel  Schreiben Sie einen Gästebucheintrag für CADwiesel

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 03. Feb. 2005 14:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Goofy007 10 Unities + Antwort hilfreich

@Cadmium
coole Arbeit!

wenn mann noch die Zeile:
(princ(strcat "A,3,-1,[\"" LAYERNAME"\",STANDARD,S=.4,R=0.0,X=-0.1,Y=-.2],-2\n")DATEI)

etwa so erweitert:
(princ(strcat "A,3,-1,[\"" LAYERNAME"\",STANDARD,S=.4,R=0.0,X=-0.1,Y=-.2],-"(if(>(strlen LAYERNAME)4)(itoa(/(strlen LAYERNAME)2))"2")"\n")DATEI)

werden auch längere Layernamen nicht durchgestrichen dargestellt

------------------
Gruß
CADwiesel
Besucht uns im CHAT

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz