Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  layer über lisp definieren

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 über lisp definieren (987 mal gelesen)
gogofax
Mitglied



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

Beiträge: 12
Registriert: 18.09.2006

win XP
acad 2006

erstellt am: 12. Nov. 2006 16:26    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


pueinma41.jpg


blockmb13.jpg

 
hallo,
ich hätte eine frage bzgl. eines lispprogramms. ich lege dieses im anhang hier dazu. dieses lisp erlaubt mir in meinem zeichenprogramm blöcke in die zeichnung einzufügen. nach aufruf des programms gebe ich eine koordinatenliste ein und das lisp ordnet mir die blöcke dort an wo sie lt. koordinatenliste stehen sollen. jedoch sind attribute dabei welche auf einem anderen layer stehehn sollten als das kreuzerl des punktes selbst. ich kann es leider nicht über den block definieren, da dieser block für verschiedene arten von punkten verwendet wird und auch so vorgegeben ist und nicht geändert werden darf. ist es nicht möglich dieses lispprogramm so abzuändern, dass für h(Höhe) pnr(Punktnummer) und Punktbezeichnugn jeweils ein anderer layer erzwungen werden kann.
anbei eine zeichnung mit diesem block, und mein lisp.
da ich kein zip-programm momentan habe, habe ich die endungen geändert.bitte vor dem öffnen, die endung bei blockmb13 auf dwg ändern und das andere auf lsp. danke

danke im voraus

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 12. Nov. 2006 17: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 Nur für gogofax 10 Unities + Antwort hilfreich

Das Lisp fügt lediglich den vordefinierten Block "mb13" ein.
Anpassungen an den Layeren der Attribute sind im Code nicht mal ansatzweise vorgesehen (da müsste was gänzlich neues dazuprogrammiert werden)

Zur Zeit sind alle Objekte der Blockdefinition auf Layer 0 abgelegt, dadurch übernehmen die Objekte beim  Einfügen der Blockreferenz die Eigenschaften des aktuellen bzw. Blockreferenzlayers.

Um die Höhen und Punktnummern z.B. global ein und auszuschalten, würde ich die Blockdefinition mit _BEDIT oder _REFEDIT so ändern, das die Attributsdef. BEZ z.B. zukünftig auf dem Layer "Punktnummer" liegt - analog dazu für die anderen ATTDEFs.

------------------
Mit freundlichem Gruß

Udo Hübner

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

gogofax
Mitglied



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

Beiträge: 12
Registriert: 18.09.2006

win XP
acad 2006

erstellt am: 12. Nov. 2006 17:45    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

oje, schade dass es da keine möglichkeit gibt. dann werd ich wohl händisch die layer der attribute löschen.
danke

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 12. Nov. 2006 18:08    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 gogofax 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von gogofax:
oje, schade dass es da keine möglichkeit gibt. dann werd ich wohl händisch die layer der attribute löschen.
danke

Wieso das? gibts doch.

Zitat:
Original erstellt von gogofax:
hallo,
... jedoch sind attribute dabei welche auf einem anderen layer stehehn sollten als das kreuzerl des punktes selbst.
...


Verständlich - und ich würde dazu die Attribute(ATTDEFs) in der Blockdefinition auf einen Layer abweichend "0" verlegen. Damit ist die Aufgabenstellung doch gelöst.

Zitat:
Original erstellt von gogofax:
ich kann es leider nicht über den block definieren, da dieser block für verschiedene arten von punkten verwendet wird und auch so vorgegeben ist und nicht geändert werden darf.
...

Also, verschiedene Arten von Punkten sind kein Problem, das "kreuzerl" bleibt ja auf Layer "0" und passt sich nach wie vor dem Einfügelayer an.
Wenn die ursprüngliche Blockdefinition nicht geändert werden darf, dann die Blockdefinition kopieren und zukünftig die Kopie benutzen.

Zitat:
Original erstellt von gogofax:
... ist es nicht möglich dieses lispprogramm so abzuändern, dass für h(Höhe) pnr(Punktnummer) und Punktbezeichnugn jeweils ein anderer layer erzwungen werden kann.
...

Doch das ist möglich (allerdings mit Aufwand, also nicht nur eine Zeile Codeänderung), ist aber ein größeres NoNo, als die Blockdefinition zu verändern. Ein ATTSYNC oder BATTMAN Aufruf, würde die programmtechnisch von der Blockdefinition abweichenden Layereinstellungen für die Attribute wieder zurücksetzen, das ist IMHOIn my humble oppinion (Meiner Meinung nach) kritischer, als die Blockdefinition zu ändern.

------------------
Mit freundlichem Gruß

Udo Hübner

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

gogofax
Mitglied



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

Beiträge: 12
Registriert: 18.09.2006

win XP
acad 2006

erstellt am: 12. Nov. 2006 18:51    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


Also, verschiedene Arten von Punkten sind kein Problem, das "kreuzerl" bleibt ja auf Layer "0" und passt sich nach wie vor dem Einfügelayer an.
Wenn die ursprüngliche Blockdefinition nicht geändert werden darf, dann die Blockdefinition kopieren und zukünftig die Kopie benutzen.

das klingt gut.
werde ich mal ausprobieren danke

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

gogofax
Mitglied



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

Beiträge: 12
Registriert: 18.09.2006

win XP
acad 2006

erstellt am: 12. Nov. 2006 19: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

ja supi,
habs ausprobiert und kann mir vorstellen dass ichs so relativ komfortabel hinbekomme.
danke nochmals

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