Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Blockobjekte in vonBlock

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:  Blockobjekte in vonBlock (1167 mal gelesen)
CADraxas
Mitglied
Landschaftsarchitekt


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

Beiträge: 55
Registriert: 27.08.2008

erstellt am: 25. Aug. 2010 14:29    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 Lispler,

ich suche eine Routine, mit der ich in allen Blöcken bzw. einer Auswahl von Blöcken alle Blockelemente auf die Eigenschaften vonBlock setzen kann, also Layer: 0, Farbe: vonBlock, Linientyp: vonBlock, Linienstärke: vonBlock und Plotstil: vonBlock.
Alles, was ich bisher fand (nuke.lsp, obj_prop.lsp, etc.) ist schon älter (2004/2008) und setzt nur Layer und/oder Farbe zurück; mir sind aber auch Linientyp und Plotstil wichtig, da ich mit benannten Plotstilen arbeite.
Wer weiß Rat, da ich selber nicht fähig bin, groß zu programmieren? 
Danke!
Volker

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

Proxy
Ehrenmitglied
Stateless-DHCP v6-Paketfragmentierer


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

Beiträge: 1629
Registriert: 13.11.2003

Tastaturen, Mäuse,
Pladden, ...,
AutoCADs 200X, SWX 2kX

erstellt am: 25. Aug. 2010 14:59    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 CADraxas 10 Unities + Antwort hilfreich

Es gibt bereits ein LISP hier im Forum ... ich bin fest der Meinung von CADmium

hier der Link -> http://ww3.cad.de/foren/ubb/Forum145/HTML/000722.shtml

in dem müssten nur paar Zeilen abgändert werden.

[Diese Nachricht wurde von Proxy am 25. Aug. 2010 editiert.]

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

CADraxas
Mitglied
Landschaftsarchitekt


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

Beiträge: 55
Registriert: 27.08.2008

erstellt am: 25. Aug. 2010 15: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

Okay, danke.
Wenn ich Proxy und indirekt CADmium richtig verstehe muss ich in folgenden Zeilen ändern

(Zitat aus set_by_layer.txt, Zeile 368 bis 374)

    ;; *************** hier ändern, was du willst *************************************** ;;
                (OBJEKT_ALLGEMEIN_SET  OBJEKT 256                                                ; Farbe
                                              nil                                                ; Layer
                                              "ByLayer"                                      ; Linientyp
                                              nil                                      ; Linientypfaktor
                                              "ByLayer" )                                ; Linienstärke
                ;; *************** hier ändern, was du willst *************************************** ;;

Farbe: 256 = vonLayer, soll werden: 257?
Layer: nil = 0, kann so bleiben
Linientyp: ByLayer, soll werden: ByBlock
Linientypfaktor: nil, kann so bleiben
Linienstärke: ByLayer, soll werden: ByBlock

Wo füge ich den Plotstil ein?
Wenn ich den Linientypfaktor auf nil lasse, bleiben alle Linientypfaktoren, wie sie sind, oder werden die dann alle 1?

Volker

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 25. Aug. 2010 19:05    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 CADraxas 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von CADraxas:
Farbe: 256 = vonLayer, soll werden: 257?
Layer: nil = 0, kann so bleiben
Linientyp: ByLayer, soll werden: ByBlock
Linientypfaktor: nil, kann so bleiben
Linienstärke: ByLayer, soll werden: ByBlock

Wo füge ich den Plotstil ein?
Wenn ich den Linientypfaktor auf nil lasse, bleiben alle Linientypfaktoren, wie sie sind, oder werden die dann alle 1?


Es steht doch nun echt alles in der Lisp-Datei erklärt, einfach mal lesen 
und probieren - Versuch macht klug 

"soll werden: 257?" was/welche Farbe soll das sein?
"nil=0" nee nil=nil und 0=0 (steht alles in der Lisp - hat der große Meister brav dokumentiert    )

"Plotstil" --> wo fügst du denn den Plotstil normalerweise ein?
(und sonst gilt BTN - better then nothing)

"...Linientypfaktor auf nil..." Versuch macht klug und mal lesen was in der Lisp steht

Alles was in der Lisp hinter einem " ; " steht sind Bemerkungen des Verfassers.

Ich gehe mal davon aus, das man eine aktuelle und weitaus bessere Version auf der Defun-Tools-Seite findet. (eine Unkostenpauschale ist durchaus vorstellbar - könnte Tool 78 sein)

------------------
Mfg Heiko

Elefantenjagd in Afrika
"... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..."

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

CADraxas
Mitglied
Landschaftsarchitekt


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

Beiträge: 55
Registriert: 27.08.2008

erstellt am: 26. Aug. 2010 13: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

Moin Heiko,
melde mich erst jetzt, weil mein Kurzer Geburtstag hat...
Okay, okay, ich gebe ja zu, die Unmenge an Klammern und Zeilen hat mich abgeschreckt - ich habe die lsp nicht komplett gelesen...
Werde ich aber nachholen, sobald ich im täglichen Geschäft ein wenig mehr Zeit habe (sprich, nicht etwas am besten sofort fertig sein muss).

Deshalb nur kurz:
Farbe 257 hoffte ich wäre vonBlock - die anderen Farben sind 1-255, 256 ist vonLayer. Also: 257? Aber das kriege ich schon raus!

Ansonsten bin ich, wie gesagt, kein Programmierer. Wenn ich den Plotstil ändern will, mach ich das über den Button in den Werkzeugkasten oder im Eigenschaftenfenster. Einfügen tue ich den nirgendwo. Aber auch das werde ich rauskriegen, wenn ich eifrig recherchiere - es gibt ja die Hilfe und vielleicht auch irgendwo ein Handbuch für Benutzeranpasssungen (oder das häufig erwähnte LISP-Kochbuch).
Danke also erstmal soweit - es beruhigt mich zu wissen, dass es überhaupt geht. Wenn ich fertig bin und die Tests erfolgreich sind, kann ich die Routine ja auch gerne hier posten... (falls CADmium nichts dagegen hat?)
Gruß und Danke 
Volker

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


Ex-Mitglied

erstellt am: 26. Aug. 2010 13:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

>> Farbe 257 hoffte ich wäre vonBlock

nein, 0 = <vonBlock>

- alfred -

------------------
www.hollaus.at

CADraxas
Mitglied
Landschaftsarchitekt


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

Beiträge: 55
Registriert: 27.08.2008

erstellt am: 26. Aug. 2010 13:47    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

Ach so, Danke!
Volker

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

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


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

Beiträge: 900
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 26. Aug. 2010 14:06    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 CADraxas 10 Unities + Antwort hilfreich

@alfred
das steht doch in der Lisp, dass hätte er doch alleine herausbekommen (sollen) 

------------------
Mfg Heiko

Elefantenjagd in Afrika
"... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..."

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

CADraxas
Mitglied
Landschaftsarchitekt


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

Beiträge: 55
Registriert: 27.08.2008

erstellt am: 26. Aug. 2010 14: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

@Heiko
...hätte er wohl auch schon, wenn er heute nicht noch 5 andere Sachen gleichzeitig auf dem Tisch hätte... 
mfg Volker

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


Ex-Mitglied

erstellt am: 26. Aug. 2010 14:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

>> ... wenn er heute nicht noch 5 andere Sachen gleichzeitig auf dem Tisch hätte

Und    AutoCAD hat mehr als 5 DXF-Codes je Element und kommt auch nicht durcheinander (meistens halt)! 

@Heiko:
>> das steht doch in der Lisp, dass hätte er doch alleine herausbekommen

Lass mich doch auch mitspielen, viel krieg ich ja im LISP-Forum doch nicht unter.   

- alfred -

------------------
www.hollaus.at

CADraxas
Mitglied
Landschaftsarchitekt


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

Beiträge: 55
Registriert: 27.08.2008

erstellt am: 26. Aug. 2010 15: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

@ alfred
ach, ich bin doch nur ein Mann, ich kann nur eines zur Zeit... 

Und lispeln steht heute nicht auf dem Plan, fürchte ich!
Aber morgen wird's hoffentlich besser, solange muss die Aufgabe halt warten...
Gruß
Volker

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



Leiter/in der Mechanischen Werkstatt der Fakultät für Physik (m/w/d)

Die Ludwig-Maximilians-Universität München ist eine der führenden Universitäten in Europa mit einer über 500-jährigen Tradition. Sie steht für anspruchsvolle akademische Ausbildung und herausragende Forschung.

Unsere Physikerinnen und Physiker forschen und lehren in allen Fachgebieten der Physik ? von Astrophysik über Biophysik, Festkörperphysik, Nanophysik, Laser- und Quantenphysik bis hin zu Medizinische Physik und Teilchenphysik....

Anzeige ansehenBetriebs-, Niederlassungs-, Filialleitung
CADraxas
Mitglied
Landschaftsarchitekt


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

Beiträge: 55
Registriert: 27.08.2008

Win7 64bit, Intel Xeon E3-3,4 Ghz, 16 GB RAM, AcadMap 2020, Bricscad 20, WS-Landcad 2020, Firefox

erstellt am: 27. Aug. 2010 15:32    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, da bin ich wieder.
Habe mir jetzt brav die LISP durchgelesen (klar jedes Wort wörtlich  ).
Bin auf alle Fälle klüger und habe auch grob die innere Struktur der Routine verstanden, denke ich.
Habe deshalb die folgende Subroutine (die ja die "neuen" Eigenschaften in die Datenbank schreibt), wie folgt geändert:
------
(defun UPDATE_OBJEKT ( OBJEKT /  OBJEKTDATEN)
      (if (=(type OBJEKT) 'ENAME)                                                    ; Parameter o.k. ?
        (progn     
          (setq OBJEKTDATEN (entget OBJEKT))                                      ; Objektdaten auslesen
          (if (assoc 8 OBJEKTDATEN)
            (progn
              (if (=(strcase(cdr(assoc 0 OBJEKTDATEN))) "INSERT")              ; Blockreferenzen auf "0"
                (setq OBJEKTDATEN(subst(cons 8 "0")(assoc 8 OBJEKTDATEN)OBJEKTDATEN))
              )
              (progn
                ;; *************** hier ändern, was du willst *************************************** ;;
                (OBJEKT_ALLGEMEIN_SET  OBJEKT 0                                                  ; Farbe
                                              0                                                  ; Layer
                                              "ByBlock"                                      ; Linientyp
                                              nil                                      ; Linientypfaktor
                                              "ByBlock" )                                ; Linienstärke
                ;; *************** hier ändern, was du willst *************************************** ;;
              ) 
            )
          )
        )
      ) 
    )
------
Farbe ist jetzt auf vonBlock, Layer ist jetzt 0
[In diesem Zusammenhang: Wofür sind die Zeilen:
          (progn
              (if (=(strcase(cdr(assoc 0 OBJEKTDATEN))) "INSERT")              ; Blockreferenzen auf "0"
                (setq OBJEKTDATEN(subst(cons 8 "0")(assoc 8 OBJEKTDATEN)OBJEKTDATEN))
              )
Werden da die gesamten Blöcke auf Layer 0 geschoben?]

Linientyp und Linienstärke sind jetzt auch vonBlock, der Linientypfaktor soll bleiben, wie er ist ("nil").

Was ich nicht rausgekriegt habe: Welche Rolle spielen die Zahlen hinter den "assoc" Befehlen in der Subroutine
(defun OBJEKT_ALLGEMEIN_SET ( OBJEKT FARBE LAYER LTYPE LTFAKTOR LDICKE / OBJEKTDATEN)
Sind die eigenschaftenspezifisch (also MUSS Layer = 8 sein, LTfaktor: 48, etc.)?
Hier muss doch auch die Definition für den Plotstil rein, vielleicht so:
-------
(if (=(type PLTSTYLE) 'STR)                                                        ; Plotstil
            (cond                                                                       
          ( (= (strcase PLOTSTYLENAME) "BYBLOCK")
            (if (assoc ??? OBJEKTDATEN)
              (setq OBJEKTDATEN(subst(cons ??? -2)(assoc ??? OBJEKTDATEN)OBJEKTDATEN))
              (setq OBJEKTDATEN  ( append Objektdaten (list(cons ??? -2))))
            )                 
          )
--------

Und in derselben Reihenfolge wie in der OBJEKT_ALLGEMEIN_SET dann die Werte in der UPDATE_OBJEKT eintragen, also wenn ich das hinten anfüge z.B:

;; *************** hier ändern, was du willst *************************************** ;;
                (OBJEKT_ALLGEMEIN_SET  OBJEKT 0                                          ; Farbe
                                              0                                                  ; Layer
                                              "ByBlock"                                      ; Linientyp
                                              nil                                        ; Linientypfaktor
                                              "ByBlock"                                  ; Linienstärke
                                              "ByBlock" )                    ; Plotstile
                ;; *************** hier ändern, was du willst *************************************** ;;
??
Schon mal Vielen Dank für hilfreiche Hinweise; bis auf den Plotstil funktioniert die Routine. 
Liebe Grüße
Volker

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