Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Block kann nicht aufgelöst werden

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:  Block kann nicht aufgelöst werden (2674 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: 19. Feb. 2007 09: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


block.zip

 
Hallo

Habe hier eine Zeichnung mit einem Block.
Dieser Block kann man nicht auflösen(ursprung),
weiss aber nicht warum.

Hat Jemand ein TIP???

(defun test()
(SETQ ss2 (ssget "_X" '((0 . "INSERT"))))
(IF (/= ss2 NIL)
(PROGN (setq sslen (sslength ss2) j 0)
(while (< j sslen)
(setq temp (ssname ss2 j))
(setq j (1+ j))
(vl-cmdf "_.explode" temp)
)
)
)
(SETQ ss2 (ssget "_X" '((0 . "INSERT"))))
(IF (/= ss2 NIL)(test))
)

Gruss Nano

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 19. Feb. 2007 09:16    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,
vielleicht hilft Dir  das
Jörn

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: 19. Feb. 2007 09: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

Hallo Jörn

Der Link geht nicht. (not Found 404)

Nano

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 19. Feb. 2007 09: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,
jetzt geht der Link.

------------------
viele Grüße

Jörn

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: 19. Feb. 2007 09: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

sory jetzt gehts

Nano

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: 19. Feb. 2007 10: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

Habe das Lisp gefunden

Ich habe nur noch Mühe das Lisp umzuändern.
Möchte gerne das es die ganze Zeichnung scannt
und alle Blöcke die nicht auflösen kann
umzustellen in(Auflösen zulassen).

Gruss Nano

Original:
(defun c:BLOCK-UNLOCK (/ OBJ BL NAME NEWNAME NR)
(if (and (setq OBJ (car (entsel)))(= (cdr (assoc 0 (entget OBJ))) "INSERT") (setq NAME (cdr (assoc 2 (entget OBJ)))) (setq VLA-OBJ (vlax-ename->vla-object OBJ)) ) (progn (setq NR 0) (while (tblobjname "BLOCK" (setq NEWNAME (strcat NAME "_" (itoa NR))) ) (setq NR (1+NR)) ) (and (vlax-method-applicable-p VLA-OBJ 'ConvertToStaticBlock) (not (vl-catch-all-error-p (vl-catch-all-apply 'vla-ConvertToStaticBlock (list VLA-OBJ NEWNAME) ) ) ) (not (vl-catch-all-error-p (vl-catch-all-apply 'vlax-put-property (list (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)) ) NEWNAME ) 'Explodable :vlax-true ) ) ) ) ) ) ) )

Geändert:
(defun c:BLOCK-UNLOCK (/ OBJ BL NAME NEWNAME NR)
(SETQ OBJ (ssget "_X" '((0 . "INSERT"))))
(IF (/= OBJ NIL)
(PROGN (setq sslen (sslength OBJ) j 0)
(while (< j sslen)
(setq NAME (cdr (assoc 2 (entget OBJ))))
(setq VLA-OBJ (vlax-ename->vla-object OBJ))
(progn (setq NR 0)
(while (tblobjname "BLOCK" (setq NEWNAME (strcat NAME "_" (itoa NR))) )
(setq NR (1+NR))
)
(and (vlax-method-applicable-p VLA-OBJ 'ConvertToStaticBlock)
(not (vl-catch-all-error-p (vl-catch-all-apply 'vla-ConvertToStaticBlock (list VLA-OBJ NEWNAME) ) ) )
(not (vl-catch-all-error-p (vl-catch-all-apply 'vlax-put-property
(list (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)) ) NEWNAME ) 'Explodable :vlax-true ) ) )))))
)
)
)

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: 19. Feb. 2007 10: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

Hallo Jörn

sehe ich hier die Einstellung Auflösen zulassen??

Danke Nano

(setq OBJ (ENTGET NAME))
((-1 . <Objektname: 73e0c200> ) (0 . "INSERT") (330 . <Objektname: 73e0c108> ) (5 . "7210") (100 . "AcDbEntity") (67 . 1)
(410 . "200") (8 . "0") (60 . 1) (100 . "AcDbBlockReference")
(2 . "ADCADD_ZZ") (10 0.0 0.0 0.0) (41 . 1.0) (42 . 1.0)
(43 . 1.0) (50 . 0.0) (70 . 0) (71 . 0) (44 . 0.0) (45 . 0.0)
(210 0.0 0.0 1.0))

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 19. Feb. 2007 10:44    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,
ich um die Funktion nur ein Schleife drum herum gebastelt. Die Funktion habe ich mir nicht im einzelnen angeschaut.
Code:

(defun c:BLOCK-UNLOCK  (/ OBJ BL NAME NEWNAME NR N AWS)
  (if (setq AWS (ssget "X" '((0 . "INSERT"))))
    (progn
      (setq n 0)
      (repeat (sslength AWS)
(setq OBJ (ssname AWS N))
  (if (and OBJ
  (= (cdr (assoc 0 (entget OBJ))) "INSERT")
  (setq NAME (cdr (assoc 2 (entget OBJ))))
  (setq VLA-OBJ (vlax-ename->vla-object OBJ)))
    (progn
      (setq NR 0)
      (while (tblobjname
      "BLOCK"
      (setq NEWNAME (strcat NAME "_" (itoa NR))))
(setq NR (1+ NR)))
      (and (vlax-method-applicable-p VLA-OBJ 'ConvertToStaticBlock)
  (not (vl-catch-all-error-p
  (vl-catch-all-apply
    'vla-ConvertToStaticBlock
    (list VLA-OBJ NEWNAME))))
  (not (vl-catch-all-error-p
  (vl-catch-all-apply
    'vlax-put-property
    (list (vla-item (vla-get-blocks
      (vla-get-activedocument
(vlax-get-acad-object)))
    NEWNAME)
  'Explodable
  :vlax-true)))))))
(setq n (+ n 1))))))

Und noch eine Anmerkung:
in der 3. Zeile Deines Codes habe ich folgendes entdeckt:
(IF (/= OBJ NIL)
Schau Dir dazu mal Mapcar's Stilblüten an: http://www.autolisp-tutorial.mapcar.net/stilfragen2.html

[Diese Nachricht wurde von joern bosse am 19. Feb. 2007 editiert.]

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: 19. Feb. 2007 10:49    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


unlockall.VLX.txt

 
Wenn man die ganze Zeichnung durchscannen will.. warum dann über die Inserts gehen??? Durchlaufe doch einfach die Blocktabelle.     .. wie das Tool im Anhang

------------------
          - 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: 19. Feb. 2007 11: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

Danke Jörn

IF (/= OBJ NIL) habe nachgeschaut.
Kann wesendlich verkürzen.

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: 19. Feb. 2007 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 Nur für Nano 10 Unities + Antwort hilfreich

Ich verweis noch mal hierauf

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 19. Feb. 2007 11: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 Nur für Nano 10 Unities + Antwort hilfreich

Hallo Nano,
ich meinte das nicht im Zusammenhang mit dem Programm, sondern nur das die Abfrage unnötig ist:
anstelle "(if (/= OBJ niL)"
kanst Du auch "(if OBJ"
schreiben.
Hast Du Dir Thomas seinen Code angeschaut? Das macht Sinn und spart Zeit, erst recht bei größeren Zeichnungen.

------------------
viele Grüße

Jörn

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: 19. Feb. 2007 12: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

Danke Thomas und Jörn

mit der Blocktabelle ist viel besser und schneller.
und mit Sache "(if (/=" habe ich verstanden.

Danke nochmals Gruss Nano

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