Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  lsp für zugesschnittenes Xref?

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
  
PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
Autor Thema:  lsp für zugesschnittenes Xref? (2303 mal gelesen)
H-kan84
Mitglied
Konstrukteur Yachtinnenausbau


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

Beiträge: 253
Registriert: 28.07.2006

Lenovo SL500,winXP Sp3,AutoCAD Architecture 2010

erstellt am: 09. Apr. 2008 09: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

Hi zusammen,
ich bastell grad ein makro befehl der unsere zeichnung "komplett" flach macht..sprich xrefs binden,attribute2text,blöcke auflösen etc.. damit unsere wertvollen zeichnungen (dyn.Blöcke,etc)nicht von 3. misshandelt werden können

Mein problem ist es:

das xref ist zugeschnitten und ich wil auch nur den zugeschnittenen teil in der zeichnung haben.

Beim binden wird es zwar ein block aber wenn man den wiederum auflöst erscheint die gesamte zeichnung

Gibts da evtl was?


hatte schon in RuA gepostet aber evtl ist das eher eine lsp sache?


gruß

------------------
Aus technischen Gründen befindet sich die Signatur auf der Rückseite dieser Nachricht!

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: 13527
Registriert: 30.11.2003

.

erstellt am: 09. Apr. 2008 09: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 H-kan84 10 Unities + Antwort hilfreich

mal als Randinfo : zugschnitten = abgedeckt ... demnach klappt das , was du vorhast nicht.

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

H-kan84
Mitglied
Konstrukteur Yachtinnenausbau


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

Beiträge: 253
Registriert: 28.07.2006

erstellt am: 09. Apr. 2008 09:54    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

schade

also bleibt nur die möglichkeit das Xref ansich auch komplett aufzulösen

danke trotzdem

------------------
Aus technischen Gründen befindet sich die Signatur auf der Rückseite dieser Nachricht!

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

H-kan84
Mitglied
Konstrukteur Yachtinnenausbau


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

Beiträge: 253
Registriert: 28.07.2006

Lenovo SL500,winXP Sp3,AutoCAD Architecture 2010

erstellt am: 10. Apr. 2008 10:58    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

moin,
ich hab hier was im netz gefunden aber leider scheint da noch ein fehler drin zu sein mag das jmd mit ahnung mal testen?

XRbindClip.lsp

;; Command to bind, explode & reverse-xclip XRefs
(defun c:XRBindClip (/       en      xlst ss ss1
    n       m       ed pln pld
    pll      XRB:GetPointOutside pln1
    pld1    pll1    ss2 cmd
    )
  ;; Set all to be restored
  (command "_undo" "_BEgin")
  (setq cmd (getvar "CMDECHO"))
  (layerstate-save "XRBindClip-Restore" (+ 1 2 4) nil)
  (command ".-layer" "_ON" "*")
  (command "_Thaw" "*")
  (command "_Unlock" "*" "")
  (command "_zoom" "_Extents")
  (command "_zoom" ".8x")

  ;; Search for XRefs
  (setq en  (tblnext "BLOCK" t) ;Get 1st block
xlst nil ;Initialize XrefList to empty
  ) ;_ end of setq
  (while en ;Repeat until no more blocks found
    (if (assoc 1 en) ;Check if it has an XRef path
      (setq xlst (cons (cdr (assoc 2 en)) xlst)) ;Add to Xlist
    ) ;_ end of if
    (setq en (tblnext "BLOCK")) ;Get next block
  ) ;_ end of while

  ;; Go through this list & bind each
  (setq n 0)
  (while (< n (length xlst))
    (command ".-xref" "_Bind" (nth n xlst))
    (setq n (1+ n))
  ) ;_ end of while

  ;; Step through entire drawing searching for blocks in this list
  (setq ss1 (ssget "x" '((0 . "INSERT")))
m  0
  ) ;_ end of setq
  (while (< m (sslength ss1))
    (setq en (ssname ss1 m))
    (setq ed (entget en)) ;Get entity's data
    (if (and
  (= "INSERT" (cdr (assoc 0 ed))) ;Check if block
  (member (cdr (assoc 2 ed)) xlst) ;Check if in list
) ;_ end of and
      (progn
(command "_xclip" en "" "P") ;Try to generate the polyline
(if (= (getvar "CMDACTIVE") 0) ;Check if successfull
  ;; If polyline generated
  (progn
    (setq pln (entlast)
  pld (entget pln)
    ) ;Get the polyline created & its data
    ;; if it is a polyline
    (if (= "LWPOLYLINE" (cdr (assoc 0 pld)))
      (progn
;; Step through Polyline's data obtaining each point
(setq pll nil
      n   0
) ;_ end of setq
(while (< n (length pld))
  (if (= 10 (car (nth n pld))) ;If point list
    (setq pll (cons (cdr (nth n pld)) pll))
;Add to list
  ) ;_ end of if
  (setq n (1+ n))
) ;_ end of while

;; Explode & get exploded as selection set
(command "_explode" en "")
(setq ss (ssget "P"))

;; Erase all previous except crossing & inside the polyline
(command "_erase" ss "_Remove" "_CP")
;; send each point
(setq n 0)
(while (< n (length pll))
  (command (nth n pll))
  (setq n (1+ n))
) ;_ end of while
(command "" "")

;; XClip any blocks contained on boundary
(command "_xclip" "_F")
;; send each point
(setq n 0)
(while (< n (length pll))
  (command (nth n pll))
  (setq n (1+ n))
) ;_ end of while
(command (nth 0 pll) "" "" "_D")
;Delete their XClips if there
;; WARNING this removes any extra XClip to these blocks
(setq ss2 (ssget "P" '((0 . "INSERT"))))
(if (and ss2 (> (sslength ss2) 0))
  (if (= (getvar "CMDACTIVE") 0)
    (command "_xclip" "_P")
    (command "_N" "_S" pln)
    )
) ;_ end of if
(setq ss2 nil)

;; Helper function to get point outside of polyline
(defun XRB:GetPointOutside (pll / n pt ptmax ptmin)
  (setq n    1
ptmax (nth 0 pll)
ptmin (nth 0 pll)
  ) ;_ end of setq
  (while (< n (length pll))
    (setq pt (nth n pll))
    (if (> (car pt) (car ptmax))
      (setq ptmax (list (car pt) (cadr ptmax)))
    ) ;_ end of if
    (if (> (cadr pt) (cadr ptmax))
      (setq ptmax (list (car ptmax) (cadr pt)))
    ) ;_ end of if
    (if (< (car pt) (car ptmin))
      (setq ptmin (list (car pt) (cadr ptmin)))
    ) ;_ end of if
    (if (< (cadr pt) (cadr ptmin))
      (setq ptmin (list (car ptmin) (cadr pt)))
    ) ;_ end of if
    (setq n (1+ n))
  ) ;_ end of while

  ;; Return point twice the width & height to the right and up
  (setq
    pt (list (+ (car ptmax)
(abs (- (car ptmax) (car ptmin)))
    ) ;_ end of +
    (+ (cadr ptmax)
(abs (- (cadr ptmax) (cadr ptmin)))
    ) ;_ end of +
      ) ;_ end of list
  ) ;_ end of setq
) ;_ end of defun

;; Create an offsetted polyline
(command "_offset"
"0.01"
pln
(XRB:GetPointOutside pll)
""
) ;_ end of command

;; Get this polyline's points into a list
(setq pln1 (entlast)
      pld1 (entget pln1)
      pll1 nil
      n   0
) ;_ end of setq
(while (< n (length pld1))
  (if (= 10 (car (nth n pld1))) ;If point list
    (setq pll1 (cons (cdr (nth n pld1)) pll1))
;Add to list
  ) ;_ end of if
  (setq n (1+ n))
) ;_ end of while

;; Lock all layers except those of exploded entities
(command ".-layer" "_Lock" "*")
(setq n 0)
(while (< n (sslength ss))
  (setq en (ssname ss n))
  (if (setq en (ssname ss n) ed (entget en))
    (command "_Unlock" (cdr (assoc 8 ed)))
  )
  (setq n (1+ n))
)
(command "")

;; Trim all entities around the generated polyline
(command "_trim" pln "" "_F")
;; send each point
(setq n 0)
(while (< n (length pll1))
  (command (nth n pll1))
  (setq n (1+ n))
) ;_ end of while
(command (nth 0 pll1) "" "")

;; Unlock all layers
(command ".-layer" "_Unlock" "*" "")

(entdel pln) ;Delete the generated polyline
(entdel pln1) ;Delete the offseted polyline

      ) ;_ end of progn
      (command "_explode" en "") ;Else just explode
    ) ;_ end of if
  ) ;_ end of progn
  ;; If no polyline
  (progn (command)
(command "_explode" en "") ;Just explode
  ) ;_ end of progn
) ;_ end of if
      ) ;_ end of progn
    ) ;_ end of if
    (setq m (1+ m))
  ) ;_ end of while

  ;; Restore saved settings
  (setvar "CMDECHO" cmd)
  (layerstate-restore "XRBindClip-Restore" nil 0)
  (layerstate-delete "XRBindClip-Restore")
  (command "_undo" "_End")
  (princ)
) ;_ end of defun

;|«Visual LISP© Format Options»
(72 2 40 2 T "end of " 60 9 0 0 0 T T nil T)
;*** DO NOT add text below the comment! ***|;

------------------
Aus technischen Gründen befindet sich die Signatur auf der Rückseite dieser Nachricht!

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

charlieBV
Ehrenmitglied V.I.P. h.c.
Bauzeichnerin



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

Beiträge: 9319
Registriert: 28.08.2003

erstellt am: 10. Apr. 2008 11:00    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 H-kan84 10 Unities + Antwort hilfreich

Hi,

also erst mal ist es total bescheuert, wenn man in beiden Threads gleichzeitig arbeitet, und ausserdem finde ich nicht gut, wenn du schreibst, dass du was gefunden hast. Zumindest wäre eine Erwähnung desjenigen positiv, der dir den Tipp gegeben hat. Wenn du das dann im RuA gefragt hättest, hätte der Tip-Geber ja vielleicht auch ne Lösung gehabt

------------------
Gruß Yvonne
Inoffizielle ADT-Help-Site

Bietet dir jemand eine Lösung an, dann freue dich und sei dankbar - es gibt Leute, die Probleme haben für die es keine Lösungen gibt.

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

H-kan84
Mitglied
Konstrukteur Yachtinnenausbau


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

Beiträge: 253
Registriert: 28.07.2006

Lenovo SL500,winXP Sp3,AutoCAD Architecture 2010

erstellt am: 10. Apr. 2008 11: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

hi,
ich hab grad den link von diesem thread drüben gepostet

sorry find ich grad selber auch nicht gut!

------------------
Aus technischen Gründen befindet sich die Signatur auf der Rückseite dieser Nachricht!

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

runkelruebe
Ehrenmitglied V.I.P. h.c.
Straßen- / Tiefbau



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

Beiträge: 8086
Registriert: 09.03.2006

sw:
Win7-x64
Office 365 ProPlus
C3D (& LT )
ET; DACH; Extensions
-------------------
hw:
FX3800
i5 CPU 670
8GB RAM

erstellt am: 10. Apr. 2008 11: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 H-kan84 10 Unities + Antwort hilfreich

Vielleicht könntest Du a) mal die Quelle mit angeben b) den Ersteller fragen und c) Programme nicht einfach per copy & paste benutzen... Oder versprich, dass Du das immer tust, dann hätten manche Leute bestimmt noch mal was Schönes für Dich, Du machst doch onlinebanking, oder? 

PS: das hab ich ja grade gesehen:

Zitat:
ich hab grad den link von diesem thread drüben gepostet
sorry find ich grad selber auch nicht gut!


Warum in aller Welt wiederholst Du es dann hier nicht einfach?

scnr!

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

System-Info     Excel -Suche    RuA-Suche     FAQ-ACAD     Hilfe zu CAD.de 

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

H-kan84
Mitglied
Konstrukteur Yachtinnenausbau


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

Beiträge: 253
Registriert: 28.07.2006

erstellt am: 10. Apr. 2008 11: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

okay also gefunden bei augi.com und der thread bei RuA :
http://ww3.cad.de/foren/ubb/Forum54/HTML/019577.shtml

und den tipp dazu von Kramer24 bekommen


------------------
Aus technischen Gründen befindet sich die Signatur auf der Rückseite dieser Nachricht!

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