Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Änderung LINIENTYP und LINIENTYPfaktor

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:  Änderung LINIENTYP und LINIENTYPfaktor (945 mal gelesen)
glocker
Mitglied
CAD-Systemadministrator


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

Beiträge: 73
Registriert: 24.06.2004

AutoCAD-Mechanical2007 auf WindowsXP

erstellt am: 12. Jul. 2004 10: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

Es sieht so aus, als wären verschiedene Elementtypen gegen einen Austausch des verwendeten Linientyps und Linientypfaktors immun. Was bei LINIE, KREISEN usw... problemlos funktioniert, ist bei den Elementtypen ELLIPSE und HATCH irgendie wirkungslos:

(setq E (subst (cons 6 "VONLAYER") (assoc 6 E) E))
(setq E (subst (cons 48 1.0) (assoc 48 E) E))
(entmod E)

Hat hierzu jemand einen Trick auf Lager?


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: 12. Jul. 2004 10: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 glocker 10 Unities + Antwort hilfreich

Mit ActivX gehts auf jeden Fall :

Mal zwei Bsp.

(vla-put-LinetypeScale
  (vlax-ename->vla-object (car(entsel)))
  5
)

(vla-put-Linetype
  (vlax-ename->vla-object (car(entsel)))
  "Continuous"
)

.. denke, die sprechen für sich.

Bei Fragen..

------------------
- Thomas -

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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 12. Jul. 2004 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 glocker 10 Unities + Antwort hilfreich

Hi ?,

was meldet AutoCAD denn für ein Fehler? "Dieses Entity ist immun"?

Nee, der Trick ist wohl mehr die korrekte Anwendung von (entmod...)!
Wenn der Linientyp VONLAYER ist, gibt es gar keinen GC 6. Du kannst ihn dann auch nicht mit subst ersetzen, sondern musst ihn mit cons oder append in die Liste hineinpraktizieren. Such hier mal nach "Farbe ändern", da ist es genauso.

Gruß, Axel

------------------

Meine AutoLisp-Seiten
Meine private Homepage
Mein Angriff auf dein Zwerchfell
Mein Lexikon der Fotografie
Mein gereimtes Gesülze

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

glocker
Mitglied
CAD-Systemadministrator


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

Beiträge: 73
Registriert: 24.06.2004

AutoCAD-Mechanical2007 auf WindowsXP

erstellt am: 12. Jul. 2004 12:13    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

Sorry - habe mich wohl etwas unpräzise ausgedrückt:

Es geht hier um das gezielte modifizieren von Fremdzeichnungen, in denen absolut ALLE Elemente einen eigenen LINIENTYP, FARBE, LINIENTYPFAKTOR und STRICHSTÄRKE besitzen - sowas gibts tatsächlich. Diese Elemente sollen nun alle in LINIENTYP=VONLAYER (bzw. LINIENTYPFAKTOR=1.0 und STRICHSTÄRKE=VONLAYER) geändert werden, damit die Definitionen unserer Mech6-Layer wirksam werden. Das funktioniert bereits sehr gut bis auf ein paar kleine Schönheitsfehler:

Versucht man bei Elementen des Type HATCH, ELLIPSE, DIMENSION, MTEXT den LINIENTYP zu ändern, bleibt diese Änderung wirkungslos - das Element ist nachher wie vorher????

Derzeit verzichte ich bei diesen Elementtypen einfach auf die Änderung des Linientyps und ändere nur die restlchen Objekteigenschaften. Das Ergebnis ist zwar nicht schlecht, aber einfach nicht perfekt...

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: 12. Jul. 2004 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 Nur für glocker 10 Unities + Antwort hilfreich


bylayer.LSP.txt

 
Also bei mir funz es:

Anbei mal eine Routine zum Basiseigenschaften setzen ala Autolisp (also ohne ActivX).

Test mal.


------------------
  - Thomas -

[Diese Nachricht wurde von CADmium am 12. Jul. 2004 editiert.]

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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 12. Jul. 2004 13:50    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 glocker 10 Unities + Antwort hilfreich


ellipse_linientyp.gif


hatch_linientyp.gif

 
Ich sehe dein Problem nach wie vor nicht ganz. Das erste GIF zeigt, wie ich einer Ellipse den Linientyp ACAD_ISO03W100 verpasst habe. Nicht mit subst, sondern mit append! Geht doch!

Im zweiten GIF habe ich ein HATCH erzeugt mit diesem Linientyp (oberes Rechteck). Die Kopie (unteres Rechteck) habe ich dann mit (entmod(subst ...)) auf CONTINUOUS gesetzt - wo ist das Problem?

Zu den Bemaßungen schau mal in der DXF-Referenz: Da findest du den Hinweis, dass unter GC 2 der anonyme Block zu finden ist, der das 'Bemaßungsbild' enthält. Da(!) musst du ändern, und zwar auch wieder nicht den Block selbst, sondern das, was drin ist!

Einer Schraffur einen Linientyp zu verpassen, ist schon fragwürdig genug (sieht ja auch reichlich bescheiden aus im oberen Beispiel). Einem Text kann man wohl einen Linientyp zuordnen - aber der hat wohl keinerlei Wirkung. Spätestens, wenn da TTF-Fonts im Spiel sind, dürfte auch klar werden, warum;-) GC 6 ist nun mal einer der GCs, die ausnahmslos jedem Entity zugeordnet werden können, auch wenn sie völlig Banane sind:

((-1 . <Objektname: 7ef71060> ) (0 . "POINT") (330 . <Objektname: 7ef57cf8> ) (5 . "104") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (6 . "ACAD_ISO07W100") (100 . "AcDbPoint") (10 229.056 156.843 0.0) (210 0.0 0.0 1.0) (50 . 0.0))

Die Vorgehensweise sollte also eher nicht darin liegen, solche Einträge in den Zeichnungen zu modifizieren, sondern sie zu löschen und durch ein geeignetes Layerkonzept zu ersetzen.

Gruß, Axel

------------------

Meine AutoLisp-Seiten
Meine private Homepage
Mein Angriff auf dein Zwerchfell
Mein Lexikon der Fotografie
Mein gereimtes Gesülze

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


Ex-Mitglied

erstellt am: 12. Jul. 2004 13:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Zitat:
Original erstellt von CADmium:
Anbei mal eine Routine zum Basiseigenschaften setzen ala Autolisp (also ohne ActivX).

Ein Tipp: verwende in Funktionen, die wie diese hier eventuell sehr häufig aufgerufen werden, besser das schnelle CONS statt des aberwitzig langsamen APPEND. Der Laufzeitunterschied ist auch heute noch relevant.

Gruß
Tom Berger

------------------


glocker
Mitglied
CAD-Systemadministrator


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

Beiträge: 73
Registriert: 24.06.2004

AutoCAD-Mechanical2007 auf WindowsXP

erstellt am: 12. Jul. 2004 15:02    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

Prima - jetzt funktioniert's!

Der Schlüssel lag im Lisp-Beispiel von Tom Berger:
Nachdem ich den Wert für den Linientyp von "VONLAYER" in "BYLAYER" geändert habe, werden auch meine Problemelemente korrekt gebügelt!
Kleine Ursache - große Wirkung!

Auch Axel hat recht - die einzige Aufgabe meines Konvertierungstools ist das Beseitigen der störenden Obketeigenschaften, damit das Layerkonzept von Mech6 wieder greift und meine Anwender "normal" mit den Daten weiterarbeiten können...

Soweit vielen Dank für die Hilfe
aber nicht zu früh gefreut - ich bin noch lange nicht fertig...

Gruß Helmut

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