Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Layerkonvertierung

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:  Layerkonvertierung (1424 mal gelesen)
cadnetz
Mitglied
techn. Sachbearbeiter Elektronetzte - Fachadmin CAD


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

Beiträge: 45
Registriert: 18.04.2008

erstellt am: 14. Jan. 2009 14:31    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 zusammen,
ich habe mir von Cadwiesel (Danke auf diesem Wege) das ispprogramm Konvlay zum konvertieren von Layern gezogen.
Klappt prima, nur würde ich gerne in der Spalte Layerdaten in der cnv-Datei die Strichsärke angeben. Ich habe schon eintraäge 0.7 und "0.7" versucht, funktioniert nur leider nicht. gibt es da eine lösung ?
(siehe Eintrag in Fett und Kursiv !
-Danke schon im voraus-

PS: Sollten bedenken bestehen den Code hier zu veröffentlichen, bitte Info, ich ziehe dann sofort zurück !!!


Lispprogramm:
;*****************************************************************************
;
;                            K O N V L A Y
;
; Layer nach einer Umsetzungstabelle auf andere Namen, Farben und Linientypen
; umsetzen.
;
;*****************************************************************************

(defun KONVLAY

;*****************************************************************************
;*********************** DEKLARATION DER VARIABLEN ***************************

(/ RS_NAMTAB RS_HOLDAT RS_INDAT RS_CHANGE RS_DATNAM RS_OK RS_NLIST
    RS_LAY RS_LNAM RS_ANAM RS_NNAM RS_NCOL RS_NLTP RS_ULIST RS_FILE RS_NLST
    RS_BEZ RS_AWS RS_DATUM RS_TXT
)


;*****************************************************************************
;
;                            UNTERPROGRAMME
;
;*****************************************************************************

;***************************** DATEIAUSWAHL **********************************

(defun RS_HOLDAT ()
  (if (/= (setq RS_DATNAM (getfiled "LAYER-KONVERSIONSLISTEN" "" "CNV" 8));(setq RS_DATNAM (findfile "layerkonvertierungsliste.cnv"))
        NIL
        ) ;_ end of =
    (Progn
      (load RS_DATNAM)
      (RS_NAMTAB)
      ) ;_ end of Progn
    (Princ "\nDie Liste konnte nicht gefunden werden! Abbruch!")
    ) ;if
  ) ;_ end of defun


; ************************* Ausgabe des Datums *******************************

(defun RS_DATUM (/ RS_DAT)
  (setq RS_DAT (rtos (getvar "CDATE") 2 10))
  (setq RS_TXT (strcat (substr RS_DAT 7 2)  ;Tag
            "." (substr RS_DAT 5 2)    ;Monat
            "." (substr RS_DAT 3 2)    ;Jahr
            " "  (substr RS_DAT 10 2)  ;Stunden
            ":" (substr RS_DAT 12 2)    ;Minuten
            " UHR"
            )
  )
)

;*****************************************************************************
;
;                      H A U P T P R O G R A M M
;
;*****************************************************************************

(setq RS_CHANGE nil)
(RS_HOLDAT)
(if RS_NLIST
    (setq RS_OK T)
    (setq RS_OK nil)
)
(if RS_OK
  (progn ; RS_OK
  (setq RS_LAY (tblnext "LAYER" T))
  (while (/= RS_LAY nil)
    (setq RS_LNAM (cdr (assoc 2 RS_LAY)))
    (if (and (not (equal RS_LNAM "0"))
              (not (equal RS_LNAM "DEFPOINTS"))
              (not (equal RS_LNAM "AME_FRZ"))
        )
    (if (= (wcmatch RS_LNAM "?*|*") nil)
      (progn ; kein XREF
      (setq RS_ANAM RS_LNAM)
      (setq RS_ULIST (assoc RS_ANAM RS_NLIST))
      (setq RS_NNAM (cadr RS_ULIST))
      (setq RS_NCOL (caddr RS_ULIST))
      (setq RS_NLTP (cadddr RS_ULIST))
      ;(RS_INDAT)
      (if (/= RS_NNAM NIL)
        (progn
        (if (not (tblsearch "LAYER" RS_NNAM))
          (progn
          (princ (strcat "\nLayer " RS_ANAM " wird in " RS_NNAM " umbenannt!"))
          (command "_RENAME" "_LAYER" RS_ANAM RS_NNAM)
          (command "_LAYER" "_COLOR" RS_NCOL RS_NNAM "_LTYPE" RS_NLTP RS_NNAM "")
          )
          (progn
          (princ
            (strcat
            "\nDie Elemente des Layers "
            RS_ANAM
            " werden auf den Layer "
            RS_NNAM
            " verlegt!"
            )
          )
          (setq RS_AWS (ssget "X" (list (cons 8 RS_ANAM))))
          (if RS_AWS
            (progn
                          (command "_CHPROP" RS_AWS "")
                          (if (= (getvar "cmdactive") 1)
                            (command "_LAYER" RS_NNAM "")
                            ) ;_ end of if
                          ) ;_ end of progn
          )
          )
        )
        )
      )
      (princ ".")
      );kein XREF
    ) ; XREF
    ) ; Nicht "0"
    (setq RS_LAY (tblnext "LAYER"))
  ) ; WHILE
  (if RS_CHANGE (RS_ADDON))
  ) ; RS_OK
)
(princ)
)

(defun C:KONVLAY () (KONVLAY))
(prompt "\nStarten mit 'Konvlay'")

;****************** E N D E  K O N V L A Y **********************************

dazu gehört die cnv-Datei:

(defun RS_NAMTAB()                  ;Funktionsname darf nicht geändert werden!
(setq
  RS_BEZ                            ;Name darf nicht grändert werden!

; ************************** Hier folgt die Kurzbezeichnung ******************

  "Erdgeschoß"        ;Text soll angepasst werden!

; ***************************** Ende der Kurzbezeichnung *********************

)
(setq RS_NLIST                    ;Name darf nicht ge„ndert werden!
'(

; Ab hier dürfen die Einträge geändert werden!
; Die Listenstruktur muá erhalten bleiben!
; Eine Zeile enthält die Bearbeitungsdaten für einen Layer
; Der erste Name (sollte nicht geändert werden!) ist der vorhandene Layername
; Der zweite Name (derjenige der angepasst werden kann) ist der Layername auf
; den der vorhandene Layername gesetzt werden soll
; Das dritte Element (kann verändert werden) ist die Layerfarbe
; Das vierte Element (kann verändert werden) ist der Linientyp des Layers
; Wenn die Datei geändert wurde, muá auch die Kurzbeschreibung
; angepasst werden, damit der Verwendungszweck erkenntlich wird.
;
; *********************** Ab hier beginnen die Layer-Daten *******************

("000_ES" "J293 Erdseil" 38 "CONTINUOUS" "0.7")

; *************************** Ende der Dateneinträge *************************

; Ab hier keine Änderungen mehr zulässig!
  )
)
)
[b][/b]

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

.

erstellt am: 14. Jan. 2009 14: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 cadnetz 10 Unities + Antwort hilfreich

in der Zeile wird auch keine Linienstärke berücksichtigt ..
(command "_LAYER" "_COLOR" RS_NCOL RS_NNAM "_LTYPE" RS_NLTP RS_NNAM "")

Wende dich doch bitte direkt an den Programmautor. Auf der Seite von cadwiesel gibts für solche Fragen ein extra Forum.

Warum nimmst du eigentlich nicht dem ACAD-Befehl _laytrans ?
------------------
      - 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

cadnetz
Mitglied
techn. Sachbearbeiter Elektronetzte - Fachadmin CAD


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

Beiträge: 45
Registriert: 18.04.2008

erstellt am: 14. Jan. 2009 14:46    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

Ja danke, werde ich machen. nur kurze frage noch, weil ich dich grad an der Angel :-) habe:
(command "_LAYER" "_COLOR" RS_NCOL RS_NNAM "_LTYPE" XXXXX RS_NLTP RS_NNAM "")
Da wo ich die vielen X gesetzt habe kommt doch sicherlich der "Aufruf" für die linienstärke.
Du weißt sicherlich was ich jetzt fragen möchte? wie lautet der Aufruf ?

Nach deiner (hoffentlich) Antwort werde ich ins Cadwiesel-forum wieseln

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

.

erstellt am: 14. Jan. 2009 15:01    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 cadnetz 10 Unities + Antwort hilfreich

(command "_-LAYER" ;Layerbefehl aufrufen
            "_COLOR" RS_NCOL RS_NNAM ; farbe ändern auf RS_NCOLfür Layer RS_NNAM
            "_LTYPE" RS_NLTP RS_NNAM  ;Linientyp ändern
            "_LWeight" 0.7  RS_NNAM  ;Linienstärke ändern
        ""
)

usw
die einzelnen Optionen kannst du auch einfach mal in der Befehlszeile durchspielen .. dann weiß du , was command an Parametern erwartet.

Hilfreich ist für die Kenntnis der Parameternamen auch  http://www.cadmaro.de/upload/Befehlsreferenzen/BefehleAC2007.html

------------------
  - 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

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: 15. Jan. 2009 09:08    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 cadnetz 10 Unities + Antwort hilfreich

wir können das Thema hier gerne weiterdiskutieren.

Hast du mitlerweile deine Probleme lösen können?

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

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

cadnetz
Mitglied
techn. Sachbearbeiter Elektronetzte - Fachadmin CAD


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

Beiträge: 45
Registriert: 18.04.2008

erstellt am: 15. Jan. 2009 12:21    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

nee, da ich nicht viel Ahnung in Lisp habe, maximal an kleine Anpassungen traue ich mich ran. Habe mich gestern übrigens in deinem forum registrieren wollen, aber noch keine email bekommen, vielleicht habe ich ja einen Tipfehler in meiner emailadresse, war etwas hektisch gestern ... ich werde es nochmal probieren.

Die 600 zeichnungen,von denen ich sprach, werden alle in ein neues Dokument eingefügt, wie gesagt, die Layerstruktur soll am Anfang den Dateinamen beinhalten. Dein Tool Konvay passt prima für diese Aufgabe, diese Zeile  ("000_ES" "J293 Erdseil" 38 "CONTINUOUS") erzeuge ich praktisch automatisch in Excel und kopiere das dann in die cnv-Datei. Die Strichstärke mache ich danach von Hand in ACAD. Das würde ich jetzt gerne noch in deinem Tool integrieren, aber mangels Masse im Lispwissen scheiter ich kläglich...

[Diese Nachricht wurde von cadnetz am 15. Jan. 2009 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)2023 CAD.de | Impressum | Datenschutz