Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  LW-Polylinie mit Entmod ändern

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:  LW-Polylinie mit Entmod ändern (2345 mal gelesen)
joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 20. Mai. 2010 09: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


LW_neu.gif


LW_neu_mit_neuen_Breiten.gif


LW_urspruenglich.gif

 
Hallo,
folgendes Problem habe ich: Ich habe eine vorhandene Polylinie mit unterschiedlichen Breiten der Segmente, z.B. einen Pfeil.

Für eine Transformation muss ich dieses "urspringen" und später wieder zusammensetzen, das funktioniert auch. Weil beim "urspringen" aber die Breiten verloren gehen möchte ich diese der neu zuusammen gesetzten Polylinie wieder übergeben.

Das hat bis zu den Listen auch funktioniert, allerdings kann ich diese dann nicht mit ENTMOD aktualisieren. Es kommt kein NIL als Rückgabe, es passiert einfach nur nichts.

Ich habe mal drei Bilder, in denen die Objektliste zu den jeweiligen Arbeitsständen zu sehen sind. Ich weiß nicht ob ich ein Fehler in der Liste gemacht habe (und ihn nicht sehe), oder ob es nicht geht.
    Liste ursprüngliches Objekt
    Liste neues Objekt noch ohne Breiten
    Liste neues Objekt mitBreiten, diese kann über ENTMOD dann aber nicht aktualisiert werden.

Kann man die Breiten auch über ein VLA-Objekt zuweisen, ich habe das bis jetzt nichts gefunden oder ich sehe den Wald vor lauter Bäumen nicht.

Bin wie immer für jeden Tip dankbar.

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

[Diese Nachricht wurde von joern bosse am 20. Mai. 2010 editiert.]

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: 20. Mai. 2010 09:18    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 joern bosse 10 Unities + Antwort hilfreich

gc 43 konstante breite?
habs aber nicht geprüft...

Edit: Group codes lwpolyline

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

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

[Diese Nachricht wurde von Dorfy am 20. Mai. 2010 editiert.]

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: 20. Mai. 2010 09: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 Nur für joern bosse 10 Unities + Antwort hilfreich

also
(and
(setq a (entget(car(entsel))))
(setq a (vl-remove-if '(lambda(x)(=(car X)43))a))
(setq a (subst '(40 . 5.0)(assoc 40 a)a))
(setq a (subst '(41 . 3.0)(assoc 41 a)a))
(entmod a)
)

klappt

und via activx ist es die Methode: setwidth

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 20. Mai. 2010 09:36    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

Volltreffer, versenkt, da habe ich echt den Wald vor lauter Bäumen nicht gesehen, dank Euch beiden.

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

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: 20. Mai. 2010 09: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 Nur für joern bosse 10 Unities + Antwort hilfreich

Hallo Jörn
Zitat:
Original erstellt von joern bosse:
... Für eine Transformation muss ich dieses "urspringen" und später wieder zusammensetzen...


Es gibt aber auch ein paar brauchbare Transformationsfunktionen in Lisp, die evt. das Zerlegen erübrigen.
z.B. vla-transformby
Vielleichrt kannst du dir damit doch das Zerlegen und wieder Zusammensetzen sparen.


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

Udo Hübner
www.CAD-Huebner.de

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 20. Mai. 2010 10: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

Hallo Udo,
würde ich gerne, aber, wenn in den Polylinien Bögen enthalten sind, dann habe ich die Vorgabe, das der Bogen jeweils über den Anfangs,- End,- und Mittelpunkt transformiert werden. Die jeweils zugehörigen Transformationspasspunkte (virtuelle Passpunkte im Hamburger Umfeld) können dann bei langen Bögen verschiedene sein. Wenn dann auch noch eine Kurvenfunktion für die Polylinie verwendet worden ist, dann würde es auf jeden Fall nicht mehr hinreichen, nur die Stürtzpunkte der Polylinie zu berücksichtigen.

Die Transformation erfolgt dann ganz normal punktweise über Helmert, und weil ich die Helmert-Transformation geschrieben, weiß ich auch was drin ist.

Weil mir "vla-transformby" bisher noch nicht untergekommen ist habe ich mir da auch noch keine Gedanken drüber gemacht. Der Blick in die Online-Hilfe zeigt mir aber, daß es sich nicht um leicht verdauliche Kost handelt (zumindestens für mich).

Trotzdem, danke daß Du an mich gedacht hast.

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

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

gmk
Mitglied
Dipl.-Ing.(FH) Vermessung


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

Beiträge: 667
Registriert: 23.10.2002

Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM

erstellt am: 20. Mai. 2010 13:52    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 joern bosse 10 Unities + Antwort hilfreich

Servus Jörn!

Du kannst doch die Transformationsparameter mittels Helmert berechnen und dann an _align übergeben. Geht dann auch Helmert mit Maßstab 1.0, z.B. bei lokalem System nach Landskoordinaten.

Ciao Georg

------------------
http://www.xxx-tausend.info

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: 20. Mai. 2010 14:38    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 joern bosse 10 Unities + Antwort hilfreich

Außer Jörn führt auch noch eine Restklaffenverteilung durch.

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

Udo Hübner
www.CAD-Huebner.de

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

gmk
Mitglied
Dipl.-Ing.(FH) Vermessung


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

Beiträge: 667
Registriert: 23.10.2002

Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM

erstellt am: 20. Mai. 2010 14: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 Nur für joern bosse 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von CAD-Huebner:
Außer Jörn führt auch noch eine Restklaffenverteilung durch.



Das macht er aber innerhalb der Helmerttransf; als Transf.-parameter bekommt er dann nur noch Verschiebung, Drehung, Maßstab -> align.

Ciao Georg

------------------
http://www.xxx-tausend.info

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

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


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

Beiträge: 1734
Registriert: 11.10.2004

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 20. Mai. 2010 15:52    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


System-Skizze.dwg.txt

 
Hallo Georg, hallo Udo,
mit _align habe ich mich noch gar nicht so recht auseinandergesetzt. Aber ich habe noch mal ein Skizze angehängt, wo vielleicht die Problematik draus erkennbar wird.

Es sind 2 Polylinien dargestellt:
Fall 1: Polylinie mit Bogen. Es sind genau 3 Stützpunkte der Polyline, für den Bogen wird für die Teransformation ein weiterer Punkt, der Bogenmittelpunkt hinzugefügt. Alle werden für sich transformiert mit den jeweils 4 nächstgelegenen Passpunkten.

Fall 2: Dieselbe Polylinie, allerdings mit der Option Ausgerundet behandelt. Da würden jetzt 3 weitere Bögen entstehen, also 3 Bogenmittelpunkte mehr, das Liniensegment fällt weg.

Das Ziel ist es, das das Ergebnis von der Geometrie exakt dasselbe wird, egal ob die Polyinie als ganzes besteht oder nur die einzelnen Elemente (Bögen und Linien) zu transformieren sind.

Ich komme jedenfalls erstmal weiter, ich weiß auch nicht, ob ich die ganze Problematik mit den paar Zeilen hier erklären konnte.

------------------
viele Grüße

Jörn
http://www.bosse-engineering.com

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

gmk
Mitglied
Dipl.-Ing.(FH) Vermessung


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

Beiträge: 667
Registriert: 23.10.2002

Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM

erstellt am: 20. Mai. 2010 16:43    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 joern bosse 10 Unities + Antwort hilfreich

Wie soll da die gleiche Geometrie rauskommen wenn Du jedes Element der Polylinie mit 4 unterschiedlichen Punkten transformierst? Hat doch jede Transf. für sich gesehen unterschiedliche Klaffungen.
Jetzt mal ganz unabhängig davon ob die Polylinie ausgerundet ist oder nicht? ... oder hab' ich Dich falsch verstanden?

Aber die eigentliche Aufgabe mit den Breiten könntest auch ganz simpel mit pedit lösen. Segmentbreiten merken, Polylinie zerlegen, transformieren, pedit -> verbinden, pedit -> bearbeiten -> unterschiedliche Breiten wieder eingeben.... ich würde es aber auch lieber mit lisp (entmode) machen :-)

Ciao Georg

------------------
http://www.xxx-tausend.info

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