Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Layer die eine Farbe haben eine andere Farbe sowie eine Linienstärke zuweisen

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
Autor Thema:   Layer die eine Farbe haben eine andere Farbe sowie eine Linienstärke zuweisen (2457 mal gelesen)
-ikarus-
Mitglied
Zeichner


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

Beiträge: 139
Registriert: 12.02.2007

ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015
Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro,
Visual Studio 2013
Notepad++
Rechner: HP Z620 Workstation
NVIDIA Quadro K4000

erstellt am: 23. Apr. 2014 10:03    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

Hab da schon wieder eine Frage.

Kennt jemand eine Lisp die alle Layer mit der gleichen Farbe eine RGB-Farbe und eine Linienstärke zuweist.

Der Hintergrund ist, ich habe eine DWG mit CTB verschickt, jetzt kommt das Büro mit seinem CAD System nicht mit der CTB zurecht.
Da hab ich mir gedacht ich erstelle eine *.DWS zum Layer konvertieren, das funktioniert auch ganz gut. Nur wenn jetzt von unseren Konstrukteuren ein neuer Layer, der nicht in der DWS definiert ist, dazu kommt dann fehlt der natürlich.
Aus diesem Grund würde ich gerne die Lösung mit einer Lisp bevorzugen.

Das würde bedeuten, dass die Lisp die Layer durchgeht und alle nach einer (if... Abfrage jeweils ändert.

Falls es da schon was gibt, würde ich mir die Arbeit ersparen, ansonsten muss ich mir die Arbeit ersparen, ansonsten muss ich mich doch da mal dran machen.

Danke schönen Gruß
Jürgen

P.S. oder hat jemand eine bessere Idee

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: 19657
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 23. Apr. 2014 10:07    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 -ikarus- 10 Unities + Antwort hilfreich

Das Lisp kennt den Layer aber auch nicht, Oder doch ? Falls Ja: Woher/woran ?

Kurz: Der Befehl -LAYER kann das alles, die Frage ist eher: Wieviel Ahnung hast du denn von Lisp ?
Ansonsten würde die der Befehl -LAYER
und ein einfaches Script wohl ausreichen denke ich.

(Script= Befehlsfolgen in eine Textdatei mit Endung .scr verpacken und in Acad mit SR aufrufen)

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

cadwomen
Ehrenmitglied V.I.P. h.c.
Mädchen für fast alles


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

Beiträge: 2704
Registriert: 26.08.2002

ACAD R11 - 2018.1.2
(Plant3D)
AVIS
ACAD LT 2013- 2020
ZWCAD 2015 Versuch "nun ja"
[s]History P3D 2012/(13) SP und Hotfix([/s]<P>
Windows 10 / 64 Bit
Xeon CPU 3.5GHz
16GB Ram
NVIDIA Quadro P2000
3x Dell TV100 88P Monitore

erstellt am: 23. Apr. 2014 10: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 Nur für -ikarus- 10 Unities + Antwort hilfreich

.... so aus dem Bauch

Filter oder swahl
Eigenschafenten ändern und gut

cu cw

------------------
Also ich finde Unities gut ... und andere sicher auch
------------------------------------------------
cadwomen™
Plant ist wie Öl suchen, je tiefer man bohrt desto mehr kommt ans Tageslicht

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

-ikarus-
Mitglied
Zeichner


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

Beiträge: 139
Registriert: 12.02.2007

ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015
Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro,
Visual Studio 2013
Notepad++
Rechner: HP Z620 Workstation
NVIDIA Quadro K4000

erstellt am: 23. Apr. 2014 10:32    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

Danke für die schnelle Antwort.

Das mit dem filter und der swahl geht auch bei Layern-Farben (keine Objektfarbe)?

Wenn ich über ein Script mit -Layer gehe muss ich ja auch erst alle Layernamen haben und abarbeiten oder?
Da komme ich mit dem Befehl: LAYKONV schneller klar da ich ja auch den umgekehrten weg wieder gehen kann.

Bei der Lisp dachte ich an eine Schleife und einer CSV Datei als Quelle.

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

gmk
Mitglied
Dipl.-Ing.(FH) Vermessung


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

Beiträge: 643
Registriert: 23.10.2002

Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM

erstellt am: 23. Apr. 2014 10:39    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 -ikarus- 10 Unities + Antwort hilfreich

Servus!

Hier steht wie man die Farbe auf RGB ändert, dürfte das Schwierigste an der Sache sein.

http://ww3.cad.de/foren/ubb/Forum145/HTML/003740.shtml

Der Rest ist dann nur noch die Layer durchgehen und die Gruppencodes für die Linienstärke ändern.

Ich würde mir noch eine ini-Datei schreiben

z.B.
alte Farbe neue Farbe Linienstärke
1          151 253 52    1.5

Dann brauchst nach Bedarf nur noch die neuen Layerfarben nachtragen.

Alternative: Layer im LM nach Farbe sortieren und von Hand ändern 

Ciao Georg

------------------
http://www.xxx-tausend.info

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: 19657
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 23. Apr. 2014 10: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 Nur für -ikarus- 10 Unities + Antwort hilfreich

Der fix und fertige AutoCAD-Befehl den ich erwähnte, der kann auch mit RGB-Farbwerten umgehen 

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

-ikarus-
Mitglied
Zeichner


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

Beiträge: 139
Registriert: 12.02.2007

ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015
Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro,
Visual Studio 2013
Notepad++
Rechner: HP Z620 Workstation
NVIDIA Quadro K4000

erstellt am: 23. Apr. 2014 10:51    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

Danke an alle ich werde das von Georg aufgreifen und versuchen umzusetzen

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

-ikarus-
Mitglied
Zeichner


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

Beiträge: 139
Registriert: 12.02.2007

ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015
Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro,
Visual Studio 2013
Notepad++
Rechner: HP Z620 Workstation
NVIDIA Quadro K4000

erstellt am: 23. Apr. 2014 11:02    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

Noch kurz cadffm das mit dem -layer habe ich nicht ganz verstanden ich kann doch nur den Layer ändern wenn ich den Layer mit Namen anspreche und dann mit mach Layer änder oder kann ich da auch alle Layer mit z.B. Rot ansprechen die in der DWG vorhanden sind und dann ändern?

Ich müsste doch erst alle Layer mit der Farbe Rot an eine Liste übergeben und dann über
-layer bearbeiten oder?

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

cadwomen
Ehrenmitglied V.I.P. h.c.
Mädchen für fast alles


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

Beiträge: 2704
Registriert: 26.08.2002

ACAD R11 - 2018.1.2
(Plant3D)
AVIS
ACAD LT 2013- 2020
ZWCAD 2015 Versuch "nun ja"
[s]History P3D 2012/(13) SP und Hotfix([/s]<P>
Windows 10 / 64 Bit
Xeon CPU 3.5GHz
16GB Ram
NVIDIA Quadro P2000
3x Dell TV100 88P Monitore

erstellt am: 23. Apr. 2014 11:06    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 -ikarus- 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von -ikarus-:...

Ich müsste doch erst alle Layer mit der Farbe Rot an eine Liste übergeben und dann über
-layer bearbeiten oder?

[/B]


sowas kann man über ein vbs/ Batch machen

zieh das mal kurz zurück
cu cw

------------------
Also ich finde Unities gut ... und andere sicher auch
------------------------------------------------
cadwomen™
Plant ist wie Öl suchen, je tiefer man bohrt desto mehr kommt ans Tageslicht

[Diese Nachricht wurde von cadwomen am 23. Apr. 2014 editiert.]

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: 19657
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 23. Apr. 2014 12:40    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 -ikarus- 10 Unities + Antwort hilfreich

Ja, richtig.
Deswegen fragte ich danach woher das Lisp denn weiß welchen Layer es wie bearbeiten soll.

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

-ikarus-
Mitglied
Zeichner


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

Beiträge: 139
Registriert: 12.02.2007

ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015
Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro,
Visual Studio 2013
Notepad++
Rechner: HP Z620 Workstation
NVIDIA Quadro K4000

erstellt am: 23. Apr. 2014 12:48    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

Achso jetzt verstehe ich.

Ja meine Absicht ist schon die 255 ACAD Farben abzurufen und listen mit den Layernamen zu erstellen und diese dann doch über -layer der Farbe zuweisen.

Danke für die guten Beiträge.

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: 19657
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 23. Apr. 2014 12:51    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 -ikarus- 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von gmk:
z.B.
alte Farbe neue Farbe Linienstärke
1          151 253 52    1.5

Ich würde (auch nur z.B.) die "Einleseroutine" auf den 'PlotStyle Viewer' von http://www.noliturbare.com abstimmen 

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

gmk
Mitglied
Dipl.-Ing.(FH) Vermessung


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

Beiträge: 643
Registriert: 23.10.2002

Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM

erstellt am: 23. Apr. 2014 13:11    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 -ikarus- 10 Unities + Antwort hilfreich

Servus!

Das da brauchst nur noch rauskopieren, Linienstärken dazu, ini ist fertig.

http://www.advanced.autolisp.info/acifarben.html

Layerliste erstellen, foreach-Schleife, Farbe und Linienstärke (tblobjname "layer" n) ändern fertig.... und alles ohne COMMAND-Befehle.

Ciao Georg

------------------
http://www.xxx-tausend.info

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

gmk
Mitglied
Dipl.-Ing.(FH) Vermessung


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

Beiträge: 643
Registriert: 23.10.2002

Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM

erstellt am: 23. Apr. 2014 13:13    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 -ikarus- 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von cadffm:

Ich würde (auch nur z.B.) die "Einleseroutine" auf den 'PlotStyle Viewer' von http://www.noliturbare.com abstimmen  


ich hab mich jetzt mit der NASA abgestimmt, passt das auch? 

------------------
http://www.xxx-tausend.info

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

Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



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

Beiträge: 3098
Registriert: 07.06.2001

AMD A8-3870, W7-64bit, 16GB RAM, HP DJ T2300mfp, HP DJ 500, Maus:G700s, Sub:Infrastructure Design Suite, Excel 2013,

erstellt am: 23. Apr. 2014 13:18    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 -ikarus- 10 Unities + Antwort hilfreich

Servus, gibt es ein Möglichkeit die CTB bzw. STB auf die DWG anzuwenden? So wie "Plotstile anzeigen" nur halt statt anzeigen>anwenden.

Wäre eine einfache Möglichkeit Projekte von verschiedenen Planern zu verwenden

------------------
<----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark  Bernd P. Sport ist Mord
Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX

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

-ikarus-
Mitglied
Zeichner


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

Beiträge: 139
Registriert: 12.02.2007

ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015
Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro,
Visual Studio 2013
Notepad++
Rechner: HP Z620 Workstation
NVIDIA Quadro K4000

erstellt am: 24. Apr. 2014 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,

also ich bin kein Profi aber was ich da gebastelt hab funktioniert soweit
und das will ich euch nicht vorenthalten.
Ich weiß eine Fehler-Abfragung fehlt noch.

Code:
; mit dem Viewer http://www.noliturbare.com/plot-print/print-ctbs-and-more die CTB in eine *.INI speichern
; und in der letzten Zeile der INI ENDE eintragen

(princ "Am Ende der INI in die letzte Zeile bitte ENDE eintragen " )

(defun parse_nums (st / a k lst)
(setq k 1)
(setq a "")
(setq lst nil)
(repeat (strlen st)
(if (= (substr st k 1) " ")
(progn
(setq lst (append lst (list a)))
(setq a "")
)
(setq a (strcat a (substr st k 1)))
)
(setq k (+ k 1))
)
(setq lst (append lst (list a)))
)


(defun c:konvlayer (/); layerliste layername layerfarbe )
(vl-load-com)

(if (setq FILE (getfiled "Layer INI einlesen" (getvar "dwgprefix") "ini" 8 )) ;"C:\\"
(progn

(setq aL (tblnext "LAYER" t ))

(while aL
(setq layername (cdr (assoc 2 aL )))
(setq layerfarbe (cdr (assoc 62 aL )))
(setq f (open File "r" ))
(setq dataline (read-line f))
(setq dataline (read-line f))
(while (/= dataline "ENDE")
(setq dataline (parse_nums dataline))
(setq _layerfarbe (atoi (substr (nth 0 dataline ) 7 )  ))
(setq _RGB-farbe (nth 2 dataline ))
(setq _linienstaerke (strcat (substr (nth 11 dataline ) 1 1 ) "." (substr (nth 11 dataline ) 3) ))
(if (= layerfarbe  _layerfarbe )
(progn
(if (/= "(Object)" _RGB-farbe )
(progn (command "-layer" "Fa" "T" _RGB-farbe layername "ls" _linienstaerke layername "" ))
(princ)
)
)
(princ)
)
(setq dataline (read-line f ))
)
(close f)
(setq aL (tblnext "LAYER" ))
)
)
(alert "Fehler" )
    )
(princ "\n---------- fertig ----------\n")
)



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

-ikarus-
Mitglied
Zeichner


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

Beiträge: 139
Registriert: 12.02.2007

ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015
Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro,
Visual Studio 2013
Notepad++
Rechner: HP Z620 Workstation
NVIDIA Quadro K4000

erstellt am: 25. Apr. 2014 07:24    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

Hab noch was ergänzt.
Das Lisp schreibt jetzt erst ein Sicherungs DWG raus.
Außerdem kann kann man den INI Pfad angeben.

Code:

; mit dem Viewer http://www.noliturbare.com/plot-print/print-ctbs-and-more die CTB in eine *.INI speichern
; und in der letzten Zeile der INI ENDE eintragen

(princ "\nAm Ende der INI in die letzte Zeile bitte ENDE eintragen <konvlayer>" )

(defun parse_nums (st / a k lst)
(setq k 1)
(setq a "")
(setq lst nil)
(repeat (strlen st)
(if (= (substr st k 1) " ")
(progn
(setq lst (append lst (list a)))
(setq a "")
)
(setq a (strcat a (substr st k 1)))
)
(setq k (+ k 1))
)
(setq lst (append lst (list a)))
)


(defun c:konvlayer (/); layerliste layername layerfarbe )
(vl-load-com)

;;;; Error Funktion
  (setq MD_ERR *ERROR*
*ERROR* M:FEHLER
  ) ;_ end of setq
  ;;Marke für Zurück nach Abbruch setzen
    (vla-endundomark  (vla-get-activedocument(vlax-get-acad-object)))
(vla-startundomark(vla-get-activedocument(vlax-get-acad-object)))
;;;Die eigentliche Funktion:
  (defun M:FEHLER (S)
    (print (strcat "M:fehler " S))
  (vl-cmdf "_UNDO" "_BACK")
  (setq *ERROR* MD_ERR)
  (alert "Der Befehl wurde abgebrochen!")
  (princ)
  ) ;_ end of defun
 
(setq _pfad "c:/test/adobe-pdf-2012.INI" )
(command "_undo" "_be")
(initget "Ja Nein")
(setq ant (getkword (strcat "Pfad " _pfad " verwenden? <Ja>/Nein:")))
(if (= ant "Nein")
    (progn (setq FILE (getfiled "Layer INI einlesen" (getvar "dwgprefix") "ini" 8 ))
    )
(progn (setq FILE _pfad )
)
)

;------------------------------
  ;Wblock DWG 
 
  (setq DWGsicherung (strcat (getvar "dwgprefix") (substr (getvar "dwgname" ) 1 (- (strlen (getvar "dwgname" )) 4)) "-Sicherung" ))

  ;(setq oldDFFS (getenv "DefaultFormatForSave"))
  ;(setenv "DefaultFormatForSave" "18");oder welche Version auch immer
  (command "_.-WBLOCK" DWGsicherung "J" "*" )
  (princ)
  ;(setenv "DefaultFormatForSave" oldDFFS )
  (princ)
  ;-----------------------------------------

(if (/= FILE nil );(setq FILE (getfiled "Layer INI einlesen" (getvar "dwgprefix") "ini" 8 )) ;"C:\\"
(progn
(setq aL (tblnext "LAYER" t ))
(while aL
(setq layername (cdr (assoc 2 aL )))
(setq layerfarbe (cdr (assoc 62 aL )))
(setq f (open File "r" ))
(setq dataline (read-line f))
(setq dataline (read-line f))
(while (/= dataline "ENDE")
(setq dataline (parse_nums dataline))
(setq _layerfarbe (atoi (substr (nth 0 dataline ) 7 )  ))
(setq FModus (nth 1 dataline ))
(setq _RGB-farbe (nth 2 dataline ))
(setq _linienstaerke (strcat (substr (nth 11 dataline ) 1 1 ) "." (substr (nth 11 dataline ) 3) ))
(if (= layerfarbe  _layerfarbe )
(progn
(if (/= "(Object)" _RGB-farbe )
(progn (if (/= "Color 7" FModus)
(progn (command "-layer" "Fa" "T" _RGB-farbe layername "ls" _linienstaerke layername "" )
)
(progn (command "-layer" "Fa" "7" layername "ls" _linienstaerke layername "" )
)
)
)
(princ)
)
)
(princ)
)
(setq dataline (read-line f ))
)
(close f)
(setq aL (tblnext "LAYER" ))
)
)
(alert "Fehler" )
    )
(princ "\n---------- fertig ----------\n")(princ)
)


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: 19657
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 25. Apr. 2014 07:30    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 -ikarus- 10 Unities + Antwort hilfreich

ohne es getestet zu haben oder Code angeschaut: DANKE!

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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



Software-Entwickler im CAD-Umfeld (m/w/d)

HELLER ist einer der weltweit führenden Hersteller für spanende Werkzeugmaschinen und komplexe Fertigungssysteme. Unsere Kunden überzeugen wir durch innovative Ideen, Präzision und höchste Qualität - in jedem Bereich. Mit unseren unterschiedlichen Geschäftsfeldern sind wir marktorientiert aufgestellt und bedienen globale Wachstumsmärkte in den verschiedensten Branchen. Zur Verstärkung unseres Teams ...

Anzeige ansehenSoftwareentwicklung
-ikarus-
Mitglied
Zeichner


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

Beiträge: 139
Registriert: 12.02.2007

ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015
Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro,
Visual Studio 2013
Notepad++
Rechner: HP Z620 Workstation
NVIDIA Quadro K4000

erstellt am: 28. Apr. 2014 08: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


adobe-pdf-2012.ini.txt


konvlayer.lsp

 
Hi,
hab noch was ergänzt
- Layerstatus mit_Plotstiltabelle_CTB_plotten und ohne_Plotstiltabelle_CTB_plotten
- Zeichnungsscalierung auf  1:1 und ändern des LtFaktor der Scalierung abhängig von der Layouteinstellung - mit Abfrage ob gewünscht.
Code:
; von J.H.  28.04.2014
; Änderungen bzw. Verbesserungen sind gern gesehen und sollten veröffentlicht werden - Danke!

; mit dem Viewer http://www.noliturbare.com/plot-print/print-ctbs-and-more die CTB in eine *.INI speichern
; und in der letzten Zeile der INI ENDE eintragen

(princ "\nAm Ende der INI in die letzte Zeile bitte ENDE eintragen <konvlayer>" )
(defun parse_nums (st / a k lst)
(setq k 1)
(setq a "")
(setq lst nil)
(repeat (strlen st)
(if (= (substr st k 1) " ")
(progn
(setq lst (append lst (list a)))
(setq a "")
)
(setq a (strcat a (substr st k 1)))
)
(setq k (+ k 1))
)
(setq lst (append lst (list a)))
)

;Mainprogramm
(defun c:konvlayer (/ MD_ERR *ERROR* _pfad FILE DWGsicherung aL layername layerfarbe f dataline _layerfarbe FModus _RGB-farbe _linienstaerke plotmassstab2 1zu plotmassstab ant2 )
(vl-load-com)

;;;; Error Funktion
  (setq MD_ERR *ERROR*
*ERROR* M:FEHLER
  ) ;_ end of setq
  ;;Marke für Zurück nach Abbruch setzen
    (vla-endundomark  (vla-get-activedocument(vlax-get-acad-object)))
(vla-startundomark(vla-get-activedocument(vlax-get-acad-object)))
;;;Die eigentliche Funktion:
  (defun M:FEHLER (S)
    (print (strcat "M:fehler " S))
   (vl-cmdf "_UNDO" "_BACK")
   (setq *ERROR* MD_ERR)
   (alert "Der Befehl wurde abgebrochen!")
   (princ)
  ) ;_ end of defun

; INI-pfad 
(setq _pfad "I:/ACAD-Config/ACAD2012/TD/Support/adobe-pdf-2012.INI" )
(initget "Ja Nein")
(setq ant (getkword (strcat "Pfad " _pfad " verwenden? <Ja>/Nein:")))
(if (= ant "Nein")
    (progn (setq FILE (getfiled "Layer INI einlesen" (getvar "dwgprefix") "ini" 8 ))
    )
(progn (setq FILE _pfad )
)
)

;Wblock DWG  (substr Dateinam 1 (- (strlen Dateinam) 4))
(setq DWGsicherung (strcat (getvar "dwgprefix") (substr (getvar "dwgname" ) 1 (- (strlen (getvar "dwgname" )) 4)) "-Sicherung" ))
  ;(setq oldDFFS (getenv "DefaultFormatForSave"))
  ;(setenv "DefaultFormatForSave" "18");oder welche Version auch immer
  (command "_.-WBLOCK" DWGsicherung "J" "*" )
  (princ)
  ;(setenv "DefaultFormatForSave" oldDFFS )
  (princ)
  ;-----------------------------------------
;Aktuellen Layer-STatus Speichern
(command "-layer" "ST" "S" "mit_Plotstiltabelle_CTB_plotten" "" "" "" )

;Zuweisungsfunktion
(if (/= FILE nil );
(progn
(setq aL (tblnext "LAYER" t ))
(while aL
(setq layername (cdr (assoc 2 aL )))
(setq layerfarbe (cdr (assoc 62 aL )))
(setq f (open File "r" ))
(setq dataline (read-line f))
(setq dataline (read-line f))
(while (/= dataline "ENDE")
(setq dataline (parse_nums dataline))
(setq _layerfarbe (atoi (substr (nth 0 dataline ) 7 )  ))
(setq FModus (nth 1 dataline ))
(setq _RGB-farbe (nth 2 dataline ))
(setq _linienstaerke (strcat (substr (nth 11 dataline ) 1 1 ) "." (substr (nth 11 dataline ) 3) ))
(if (= layerfarbe  _layerfarbe )
(progn
(if (/= "(Object)" _RGB-farbe )
(progn (if (/= "Color 7" FModus)
(progn (command "-layer" "Fa" "T" _RGB-farbe layername "ls" _linienstaerke layername "" )
)
(progn (command "-layer" "Fa" "7" layername "ls" _linienstaerke layername "" )
)
)
)
(princ)
)
)
(princ)
)
(setq dataline (read-line f ))
)
(close f)
(setq aL (tblnext "LAYER" ))
)
)
(alert "Fehler" )
    )
;neuen Layer-STatus speichern
(command "-layer" "ST" "S" "ohne_Plotstiltabelle_CTB_plotten" "" "" "" )
(princ "\n---------- fertig ----------\n")
;Hinweis auf Layerstatus
(alert
"Es wurden zwei Layerstatus

- ohne_Plotstiltabelle_CTB_plotten
- mit_Plotstiltabelle_CTB_plotten <ist aktuell eingestellt>

angelegt!

Zum ändern Befehl: Layerstatus eingeben.

) (princ)

;---------------- Scalierung -------------------
(vla-getcustomscale(vla-get-activelayout(vla-get-activedocument(vlax-get-acad-object))) '1zu 'plotmassstab );Maßstab ;(princ 1zu)(princ ":")(princ plotmassstab)
(setq plotmassstab2 (/ 1zu plotmassstab ))
(initget "Ja Nein N J ")
(setq ant2 (getkword (strcat "Aktueller Plotmaßstab > " (rtos 1zu 2 2 ) " : " (rtos plotmassstab 2 2 ) " < verwenden? Ansonsten wird auf 1 : 1 scalieren! <Ja>/Nein:")))
(if (= ant2 "Nein")
  (progn (command "varia" "alle" "" "0,0,0" plotmassstab2 ) (setvar "ltscale" (* (getvar "ltscale" ) plotmassstab2 ))
  )
  (progn (princ "\nes wurde der Aktuelle Plotmaßstab beibehalten die Zeichnung wurde nicht scaliert." )(princ)
  )
)
(command "regen")
(princ
"\nEs wurden zwei Layerstatus
ohne_Plotstiltabelle_CTB_plotten
mit_Plotstiltabelle_CTB_plotten <ist aktuell eingestellt>
angelegt!
zum ändern Befehl:Layerstatus eingeben

)(princ)
);Ende Mainprogramm


Schönen Tag noch
Gruß
Jürgen

[Diese Nachricht wurde von -ikarus- am 28. Apr. 2014 editiert.]

[Diese Nachricht wurde von -ikarus- am 28. Apr. 2014 editiert.]

[Diese Nachricht wurde von -ikarus- am 28. Apr. 2014 editiert.]

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)2020 CAD.de | Impressum | Datenschutz