Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Layer-Leichen eliminieren

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:  Layer-Leichen eliminieren (1305 mal gelesen)
Nano
Mitglied



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

Beiträge: 179
Registriert: 25.10.2004

erstellt am: 12. Dez. 2006 11: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


BAU.zip

 
Hallo
Mit Hilfe von Jörn   konnte ich eine Bau-Zeichnung konvertieren,
die mit verschachtelte Blöcke versehen waren.
Nach der Konvertierung sind jedoch noch Layers auf der Zeichnung,
die keine Elementen beinhalten.
Habe es versucht mit Bereinigung der Zeichnung. GEHT NICHT!
Nur mit Layerkonverter konnte ich die Layer-Leichen auf Layer "0" setzten.
Kann mir Jemand helfen, wie ich mit ein Lisp-Programm die Leichen eliminieren kann??????

Als Beilage die Zeichnung (zip-Datei).

Gruss Nano

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: 12. Dez. 2006 11:33    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 Nano 10 Unities + Antwort hilfreich

ja, bei dir hängen noch ne ganze Menge Layer am Blockend-Sequend ... kannst du bloß mit neudefinition der Blöcke lösen.
z.B. so
Funzt zumindest mit reinen ACAD-Objekten, (die sich entmaken lassen)


zur Ergänzung noch was für 2D- und 3D-Polylinien
------------------
      - 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

Nano
Mitglied



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

Beiträge: 179
Registriert: 25.10.2004

erstellt am: 12. Dez. 2006 13: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

Hallo Thomas

Habe mit diesem Bsp. getestet.
geht bei mir nicht, warum?

Befehlszeile: Ungültiger Feldtyp in 71 in (entmake)
              Kann Blockdefinitionen nicht verschachteln.nil

(setq bl (tblnext "BLOCK" t))
(while bl (setq blname (cdr (assoc 2 bl)))
          (setq en (tblobjname "BLOCK" blname))
          (setq ed (entget en))
          (entmake (subst (cons 8 "0") (assoc 8 ed) ed))
          (while (setq en (entnext en))
                (entmake (entget en))
          )
          (entmake (list (cons 0 "BLOCK") (cons 8 "0")))
          (setq bl (tblnext "BLOCK"))
)

Gruss Nano

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: 12. Dez. 2006 16: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 Nur für Nano 10 Unities + Antwort hilfreich

wo kommt denn die dwg her?

mach mal
(entget(tblobjname "BLOCK" (cdr(assoc 2 (tblnext "BLOCK")))))
->
((-1 . <Objektname: 7eff9dc0> ) (0 . "BLOCK") (330 . <Objektname: 7eff9db8> ) (5
. "38") (100 . "AcDbEntity") (67 . 0) (8 . "63") (62 . 254) (6 . "Continuous")
(370 . 0) (100 . "AcDbBlockBegin") (70 . 1) (71 . 1) (10 0.0 0.0 0.0) (-2 .
<Objektname: 7eff9dc8> ) (2 . "*O0") (1 . ""))

und nach dxf-Spezifikation dürfte es in der Blockdefinition gar kein GC 71 geben... , deshalb geht das entmaken auch nicht (oder hab ich was überlesen?)

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

Nano
Mitglied



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

Beiträge: 179
Registriert: 25.10.2004

erstellt am: 12. Dez. 2006 16:35    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

Thomas geht es vielleicht mit append,
Aber es geligt mir nicht. Habe ich etwas falsch gemacht?

(setq bl (tblnext "BLOCK" t))
(while bl
  (setq blname (cdr (assoc 2 bl)))
  (setq en (tblobjname "BLOCK" blname))
  (setq ed (entget en))
(SETQ liste (SUBST (CONS 8 "A_BAU")(assoc 8 ed) ed))
(IF (ASSOC 8 liste)
(SUBST (CONS 8 "A_BAU")(assoc 8 liste) liste)
(APPEND liste (LIST (CONS 8 "A_BAU")))
)
  (setq bl (tblnext "BLOCK"))
)

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: 12. Dez. 2006 16:41    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 Nano 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Nano:
Thomas geht es vielleicht mit append,
Aber es geligt mir nicht. Habe ich etwas falsch gemacht?

Ja, mich nicht verstanden   

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

Nano
Mitglied



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

Beiträge: 179
Registriert: 25.10.2004

erstellt am: 12. Dez. 2006 17:12    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 Thomas immer mit der Ruhe

Wenn die Blockdefinition GC 71 Probleme macht.
Wiso kann der Befehl _laytrans lösen.
AutoCAD kann ja alles.

MFG Nano

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

Andreas Kraus
Mitglied
Elektrotechniker


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

Beiträge: 1356
Registriert: 11.01.2006

WIN 10
ACAD 2022

erstellt am: 13. Dez. 2006 08:19    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 Nano 10 Unities + Antwort hilfreich

Hallo Nano,
du mußt nicht mit "entmake" arbeiten.
Ich suche mir den Layernamen des entsprechenden Inserts und hangele mich dann durch die Attribute bis zum SEQEND-Objekt.
Und dann mach ich das:

(vlax-put-property
  (vlax-ename->vla-object ent_name)
  'Layer
  lay
)

Gruß
Andreas

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: 13. Dez. 2006 08:22    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 Nano 10 Unities + Antwort hilfreich

aber in der Blockdef ist auch ein anderer Layer als "0" referenziert.. Sie Bsp weiter oben

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

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