Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Lisp Tool funzt nicht !?

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:  Lisp Tool funzt nicht !? (773 mal gelesen)
Vollmer
Mitglied
Konstrukteur


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

Beiträge: 149
Registriert: 12.06.2002

erstellt am: 19. Dez. 2002 11: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


blocked.ZIP

 
Moin Moin
Hab mir ein Tool für Acad14 von Tony Tanzillo gezogen.
Feature:
Wblock Automation
Erste Zeichnung Block anklicken;zweite Zeichnung wird geöffnet,dann wieder geschlossen und Blockupdate.

Aber genau das macht es nicht,das update bleibt aus.

Nun meine Frage an die "Lispler"
Liegts an Acad 2000i
Liegts an mir (falsches Handling)
oder am Programm

Ps.: Man muß vorher eine Zeile (siehe Code) in die Acad.pgp kopieren

Hope ich kriege geholfen
Gruß Vollmer

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

System: F1
und Google

erstellt am: 19. Dez. 2002 12: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 Vollmer 10 Unities + Antwort hilfreich

Mein englisch ist nicht das beste, allerdings bei dem was ich so
gelesen habe stellt sich mir die Frage wozu du es benötigst ?!

------------------
Gruß Sebastian , Ffm
Der Feind des Guten ist das Bessere.

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

System: F1
und Google

erstellt am: 19. Dez. 2002 12: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 Vollmer 10 Unities + Antwort hilfreich

Kennst du dich mit AC2000i aus ?!

Die Xref muß "neu geladen" werden damit er die Änderung
übernimmt.-das macht das Prog nicht !

Xref-Manager - xref auswählen - "neuladen"

Bei Blöcken gibt es Problem mit der Angabe der Datei (die neue)
die geladen werden soll.
***

aber das ist ja auch alles (finde ich bisher) überflüssig:
------------------
wenn du direkt über
Menü Ändern/Xref&Block in Zeichnung bearb./Referenz bearbeiten
gehst, so hast du dir das alles gespart.

------------------
    Gruß Sebastian , Ffm
Der Feind des Guten ist das Bessere.

[Diese Nachricht wurde von cadffm am 19. Dezember 2002 editiert.]

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

Vollmer
Mitglied
Konstrukteur


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

Beiträge: 149
Registriert: 12.06.2002

erstellt am: 19. Dez. 2002 15: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

Moin Sebastian
Ich fänd das Tool halt praktisch.
Muß den zu bearbeitenden Block nicht im rundherum liegenden Liniengewimmel öffnen (Mist ;trotz Highlight)
und muß ihn nicht außerhalb des Gewimmels kopieren um ihn dann abzudaten.
Hab von Lisp aber keine Ahnung und wußte daher nicht warums nicht geht wie beschrieben.
Gruß Vollmer 

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

System: F1
und Google

erstellt am: 19. Dez. 2002 15: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 Vollmer 10 Unities + Antwort hilfreich

dann wart mal weiter auf nen Lisp´ler- der wirds richten...

------------------
Gruß Sebastian , Ffm
Der Feind des Guten ist das Bessere.

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 20. Dez. 2002 08: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 Nur für Vollmer 10 Unities + Antwort hilfreich

Hi Vollmer,
ich schick' Dir mal was per Mail zu diesem Thema...

------------------
Ciao,
Marc

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

Vollmer
Mitglied
Konstrukteur


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

Beiträge: 149
Registriert: 12.06.2002

erstellt am: 20. Dez. 2002 13:53    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 Marc,
Vielen Dank !!

Gruß Vollmer

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 20. Dez. 2002 14: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 Vollmer 10 Unities + Antwort hilfreich

Hi,
für alle anderen die an der Lösung Interessiert sind:
Code:

;;; OEFFNEN.LSP
;;; VERSION 1.2
;;; Pgme zum Öffnen von Blöcken und Xref's aus einer Zeichnung heraus.
;;; Kommandos: XOPEN - Öffnet Xref  - DWG's
;;;            BOPEN - Öffnet Block - DWG's

;;; Für Acad-Releases ab Acad2000
;;; Wenn SDI = 1 wird eine weiter AutoCAD Sitzung geöffnet
;;; Wenn SDI = 0 wird der Block / das XREF in einem weiteren Dokumentenfenster geöffnet

;;; Erforderliche Dateien:
;;; DOSLIB 5.0 oder höher [www.mcneel.com] - Freeware
;;; AXOPEN.VLX -> eine mit VisualLisp kompilierte Version von
;;; folgendem Source-Code:

;;; Source Beginn
;;;(defun AXOPEN (DOCNAME)
;;;  (if (> (getvar "sdi") 0)
;;;    (progn (setvar "cmdecho" 0)
;;;    (command "_.open" DOCNAME)
;;;    (setvar "cmdecho" 1)
;;;    )
;;;    (vla-activate
;;;      (vla-open (vla-get-documents (vlax-get-acad-object))
;;; DOCNAME
;;;      )
;;;    )
;;;  )
;;;  (princ)
;;;  )
;;;(vl-doc-export 'axOpen)
;;; Source Ende
;;; Die kompilierte Version ist notwendig, da Acad zwischen den Dokumenten mit
;;; unterschiedlichen Namespaces arbeitet. Ohne diese geht's nicht.

;;; Die Dateien des Doslib und die AXOPEN.VLX müssen im AutoCAD-Suchpfad zu finden sein

;;; Bei Fragen:
;;; marc.scherer@zvo.com
;;; Have fun.

(if (not (member "doslib2k.arx" (arx))) ;_ ist doslib2K geladen?
  (progn
    (setq FND (findfile "doslib2k.arx")) ;_ nein? Dann finde es
    (if FND ;_ wenn gefunden, lade es
      (if (eq (arxload FND "err") "err") ;_ Fehler beim laden?
        (alert
          (strcat "\nKonnte \"doslib2k.arx\" finden, aber nicht laden."
                  "\nFunktionen nicht ausführbar."
          ) ;_ end of strcat
        ) ;_ end of alert
      ) ;_ end of if
      (alert
        (strcat
          "\nKonnte \"doslib2k.arx\" nicht finden.\nFunktionen nicht ausführbar."
          "\nDownload der \"doslib2k.arx\" von \"www.mcneel.com\""
          "\nKopiere bitte danach die \"DOS_LIB\" Daten in den Acad-Suchpfad."
        ) ;_ end of strcat
      ) ;_ end of alert
    ) ;_ end if
  ) ;_ end progn
  (princ)
) ;_ end of if

(defun C:XOPEN (/ SEL-XREF XREF-LST)
  (setq XREF-LST (VON-TABLE 6)) ;_ Liste erstellen, nur Xref's
  (if (not XREF-LST)
    (alert
      "\nKeine XREF's in aktueller Zeichnung definiert! Funktionsende."
    ) ;_ end of princ
    (progn
      (setq SEL-XREF (dos_listbox
                       "XREF's in aktueller Zeichnung"
                       "Wähle zu öffnendes XREF..."
                       XREF-LST
                     ) ;_ end of dos_listbox
      ) ;_ end of setq
      (cond
        ((not SEL-XREF)
         (alert "\nKein XREF zum Öffnen ausgewählt! Funktionsende.")
        )
        ((= (findfile
              (cdr (assoc 1 (entget (tblobjname "BLOCK" SEL-XREF))))
            ) ;_ end of findfile
            NIL
         ) ;_ end of =
         (alert
           (strcat
             "Das XREF: \""
             (cdr (assoc 1 (entget (tblobjname "BLOCK" SEL-XREF))))
             "\" konnte nicht gefunden werden."
             "\nDer o.g. Pfad ist auf DIESEM Rechner nicht bekannt."
           ) ;_ end of strcat
         ) ;_ end of alert
        )
        (t
         (OPEN-RESSOURCE
           (cdr (assoc 1 (entget (tblobjname "BLOCK" SEL-XREF))))
         ) ;_ end of open-ressource
         (initget "Ja Nein")
         (setq FRAGE
                    (getkword
                      "\nXREF wurde im Original extern geöffnet. Jetzt neu laden? [Ja/Nein]<Ja>: "
                    ) ;_ end of getkword
             ) ;_ end of setq
             (if (not FRAGE)
               (setq FRAGE "Ja")
             ) ;_ end of if
             (if (= FRAGE "Ja")
               (progn
                 (command "_.-xref" "_reload" SEL-XREF)
                 (princ "\nOK, XREF wurde aktualisiert !")
               ) ;_ end of progn
               (princ
                 "\nOK, XREF wurde auf Deinen Wunsch hin NICHT neu geladen !"
               ) ;_ end of princ
             ) ;_ end of if
        )
      ) ;_ end of cond
    ) ;_ end of progn
  ) ;_ end of if
  (princ)
) ;_ end of defun

(defun C:BOPEN (/ SEL-XREF XREF-LST F-SEL-XREF ALT-REGENMODE FRAGE)
  (setq XREF-LST (VON-TABLE 14)) ;_ Liste erstellen, nur interne Blocks
  (if (not XREF-LST)
    (alert
      "Keine Blöcke in aktueller Zeichnung definiert! Funktionsende."
    ) ;_ end of princ
    (progn
      (setq SEL-XREF (dos_listbox
                       "Interne Blöcke in aktueller Zeichnung"
                       "Wähle zu findenden Blocknamen..."
                       XREF-LST
                     ) ;_ end of dos_listbox
      ) ;_ end of setq
      (cond
        ((not SEL-XREF)
         (alert "Kein Block zum Öffnen ausgewählt! Funktionsende.")
        )
        (t
         (setq F-SEL-XREF (findfile (strcat SEL-XREF ".dwg"))) ;_ Wenn BLOECKE in Suchpfad
         (if (not F-SEL-XREF)
           (alert
             (strcat
               "Der Block: \""
               (strcase SEL-XREF)
               "\""
               "\nbefindet sich nicht innerhalb der Acad-Suchpfade!\nFunktionsende."
             ) ;_ end of strcat
           ) ;_ end of alert
           (progn
             (OPEN-RESSOURCE
               F-SEL-XREF
             ) ;_ end of open-ressource
             (initget "Ja Nein")
             (setq FRAGE
                    (getkword
                      "\nBlock wurde extern geöffnet. Jetzt neu laden? [Ja/Nein]<Ja>: "
                    ) ;_ end of getkword
             ) ;_ end of setq
             (if (not FRAGE)
               (setq FRAGE "Ja")
             ) ;_ end of if
             (if (= FRAGE "Ja")
               (progn
                 (command "_.-insert"
                          (strcat SEL-XREF "=")
                          "0,0,0"
                          ""
                          ""
                          ""
                 ) ;_ fügt Block erneut und aktualisiert ein
                 (entdel (entlast)) ;_ Dummy-Block löschen
                 (princ "\nOK, Block wurde aktualisiert !")
               ) ;_ end of progn
               (princ
                 "\nOK, Block wurde auf Deinen Wunsch hin NICHT aktualisiert !"
               ) ;_ end of princ
             ) ;_ end of if
           ) ;_ end of progn
         ) ;_ end of if
        )
      ) ;_ end of cond
    ) ;_ end of progn
  ) ;_ end of if
  (princ)
) ;_ end of defun

(defun OPEN-RESSOURCE (PFAD / LOADED OEFFNE_DATEI)
  (cond
    ((> (getvar "sdi") 0) ;_ Single Doc Mode
     (setq OEFFNE_DATEI
            (strcat "acad.exe "
                    PFAD
            ) ;_ end of strcat
     ) ;_ end setq
     (startapp OEFFNE_DATEI)
    )
    (t
     (if (= (type AXOPEN) 'SUBR)
       (setq LOADED t)
       (setq LOADED (load "axopen.vlx" "err"))
     ) ;_ end of if
     (if (eq LOADED "err")
       (alert
         "Sorry, konnte Datei \"AXOPEN.VLX\" nicht laden.\nÜberprüfen Sie die Systemeinstellungen!"
       ) ;_ end of alert
       (progn (AXOPEN PFAD))
     ) ;_ end of if
    ) ;_ end of T
  ) ;_ end of cond
) ;_ end of defun


;;; Gibt eine Liste zurück, in der nur bestimmte Items enthalten sind
;;; Funktion ist Bitcodiert.
;;; nil, wenn nix enthalten ist.
;;; Bitcode 6 für XREF-Funktion
;;; Bitcode 14 für BLOCK-FUNKTION
;;; Auszug aus AI_TABLE:
;;; (ai_table <table name> <bit> )
;;;
;;; Returns a list of items in the specified table.  The bit values have the
;;; following meaning:
;;;  0  List all items in the specified table.
;;;  1  Do not list Layer 0 and Linetype CONTINUOUS.
;;;  2  Do not list anonymous blocks or anonymous groups.
;;;         A check against the 70 flag for the following bit:
;;;                  1  anonymous block/group
;;;  4  Do not list externally dependant items.
;;;         A check against the 70 flag is made for any of the following
;;;         bits, which add up to 48:
;;;                 16  externally dependant
;;;                 32  resolved external or dependant
;;;  8  Do not list Xrefs.
;;;         A check against the 70 flag for the following bit:
;;;                  4  external reference
;;;  16 Add BYBLOCK and BYLAYER items to list.
;;;
 
(defun VON-TABLE (Bit / BLCK-LST RES-LST TABLDATA)
  (setq RES-LST '()
BLCK-LST (AI_TABLE "BLOCK" bit)
  ) ;_ end of setq
  (if (and BLCK-LST (= bit 6)) ;_ Handling nur für Xref
    (progn
      (foreach ELEM BLCK-LST
(setq TABLDATA (entget (tblobjname "BLOCK" ELEM)))
(if (not (zerop (logand 4 (cdr (assoc 70 TABLDATA)))))
  (setq RES-LST (cons ELEM RES-LST))
) ;_ end of if
      ) ;_ end of foreach
    ) ;_ end of progn
    (setq RES-LST BLCK-LST)
  ) ;_ end of if
  (setq BLCK-LST RES-LST)
) ;_ end of defun


(princ
  "\noeffnen.lsp.... \(C\)1998 Scherer\nAufruf mit XOPEN für XREF's, BOPEN für Blöcke!"
) ;_ end princ
(princ)


.

------------------
Ciao,
Marc

[Diese Nachricht wurde von marc.scherer am 20. Dezember 2002 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