|
Lisp : Kranke Polylinien?
Arcuso am 25.07.2011 um 11:08 Uhr (0)
Hallo Spezialisten !Bei uns im Vermessungsbüro wird ein Wechsel der CAD-Software (dzt. noch AutoCAD 2005) wegen Win7 auf event. neuer Hardware immer dringlicher. Meine Aufgabe ist es, sowohl die für uns geeignete Software zu finden (sie muss auch noch auf den vorhandenen Notebooks im Außendienst laufen), alsauch die vorhandenen Lisp-Tools entsprechend anzupassen und zu verbessern. Wir haben eine Unzahl an Spezial-Befehlen für den Umgang mit Polylinien (anpassen, begradigen, aufbrechen, kombinieren, etc.), ...
|
In das Form Lisp wechseln |
|
Lisp : Kranke Polylinien?
CADchup am 26.07.2011 um 22:15 Uhr (0)
...und ich denk die ganze Zeit "...kommt mir so bekannt vor..." Hi,die Suche nach "invalid class" findet in Adesks Lisp-Brett ein paar gute Beiträge zu diesem ActiveX-Aussetzer.Tony T. hat es hier prima erklärt: Zitat:When a COM wrapper for an object exists,...Was ab dem Zeitpunkt des ersten (vlax-dump-object (vlax-ename-vla-object(car(entsel)))) der Fall ist. Zitat:...and AutoCAD replaces that object with another object of a different type, and also exchanges the object ids; xdata and extension dictionar ...
|
In das Form Lisp wechseln |
|
Lisp : Kranke Polylinien?
Arcuso am 27.07.2011 um 12:49 Uhr (0)
Hallo CSI CAD.de!Tut mir leid, dass ich mich jetzt erst melde.Also alle Achtung, Eure Spürnasen sind wirklich sensationell!Ich habe das nachvollzogen und es fällt mir jetzt wie Schuppen von den Augen:1. (setq o1 (vlax-ename-vla-object (car (entsel)))) Objekt wählen: #VLA-OBJECT IAcadLWPolyline 06ab00d42. (vlax-dump-object o1 nil)3. _PEDIT,_FIT per Mausklick4. (setq o2 (vlax-ename-vla-object (car (entsel)))) Objekt wählen: #VLA-OBJECT IAcadLWPolyline 06ab00d4 noch immer, aber nicht wirklich!jedoch:1. (set ...
|
In das Form Lisp wechseln |
|
Lisp : Kranke Polylinien?
alfred neswadba am 27.07.2011 um 12:54 Uhr (0)
Hi, Wird das Problem tatsächlich nur durch (vlax-dump-object) verursacht oder kann da sonst noch wo was lauernOhne mich in LISP auszukennen, meine Vermutung wäre, immer dann, wenn das ActiveX-Interface zu einem Objekt initialisiert wird und nachfolgend der Typ des Objekts geändert wird (also LWPoly==2DPoly oder Kreis==Bogen).Damit (Intialisierung ActiveX-Interface) stehen möglicherweise alle VLAX-Funktionen als Gefährdungspotential zur Verfügung, nur das zu verifizieren überlass ich jetzt euch Profis. - a ...
|
In das Form Lisp wechseln |
 LWneu2D-Ref.lsp.txt |
Lisp : Kranke Polylinien?
Arcuso am 30.07.2011 um 10:50 Uhr (0)
Guten Tag!Um die Sache abschließen zu können:Der Zugriff auf ein neues Objekt kann ermöglicht werden, indem man das alte nicht mehr vorhandene per (vlax-release-object) freigibt, egal ob darauf per (vlax-dump-object) oder einer anderen VLA-Funktion zugegriffen wurde.Hintergrund meiner dbzgl. Anfrage ist, wie eingangs erwähnt, dass ich unseren Zeichnungs-Altbestand ggf. in eine neue Block- und Layer-Struktur konvertieren muss. Um dabei bestehende Verweise in den XDaten nicht zu verlieren, wenn ich z.B. eine ...
|
In das Form Lisp wechseln |
|
Lisp : Kranke Polylinien?
Arcuso am 01.08.2011 um 07:22 Uhr (0)
Guten Morgen!@Theodor SchönwaldDanke für den Hinweis! Auf den Befehl _CONVERTPOLY stieß ich erstmals bei einem Beitrag betr. AutoCAD 2011 hier in diesem Forum und nahm an, dass er - weil undokumentiert - neu ist. Aber tatsächlich fand ich ihn auch im 2005er.Die Lisp-Datei ConvertPoly.lsp habe ich auch gefunden, sogar mit dem letzten Upgrade vom 03.12.2010. Sie kann zwar zwischen LW- und 2D-Polylinien hin und her konvertieren, lässt aber event. vorkommende XDaten außer Acht. Da sich Elementname und Handle ä ...
|
In das Form Lisp wechseln |
|
Lisp : Schnittpunkt ohne Geometrie
Bernd10 am 01.08.2011 um 10:28 Uhr (0)
Hallo,ich möchte den Schnittpunkt einer Linie und einem Kreisbogen berechnen, jedoch ohne dass die Objekte vorhanden sind. Wären diese vorhanden, könnte ich es wie im Beitrag http://ww3.cad.de/foren/ubb/Forum145/HTML/000302.shtml machen. Wären es zwei Linien würde die Lisp-Funktion (inters lpkt1s lpkt1e lpkt2s lpkt2e nil) funktionieren. Folglich suche ich eine ähnliche Lisp-Funktion zu inters, die aber den Schnittpunkt einer Linie und einem Kreisbogen berechnet.Diese Werte sind mir bekannt:- Startpunkt Lin ...
|
In das Form Lisp wechseln |
|
Lisp : Schnittpunkt ohne Geometrie
Bernd10 am 01.08.2011 um 11:30 Uhr (0)
Hallo Thomas,danke für Deine Antwort. Zitat:Original erstellt von tunnelbauer:Welchen der beiden Schnittpunkte?Wenn ich alle Schnittpunkte hätte, könnte ich vielleicht durch eine weitere Analyse meinen gewünschten Schnittpunkt herausfinden. Zitat:Original erstellt von tunnelbauer:Siehe: http://www.unet.univie.ac.at/~a9907818/kreisund.htm http://de.answers.yahoo.com/question/index?qid=20081204075108AABfb0U Das übersteigt meine Mathe-Kenntnisse. Ich verstehe zwar noch, dass es die drei Fälle geben kann, a ...
|
In das Form Lisp wechseln |
|
Lisp : Schnittpunkt ohne Geometrie
tunnelbauer am 01.08.2011 um 11:56 Uhr (0)
Ich hab jetzt noch ein bisschen weiter gegoogled... http://www.mario-konrad.ch/index.php?page=10200 - Das PDF "Intersection" enthält bereits die Programmierung in "C" Source-Code... Einfacher wirds dann hier... http://paulbourke.net/geometry/sphereline/ (gibt es den Lisp-Code bereits...)bzw hier: http://forums.autodesk.com/t5/Visual-LISP-AutoLISP-and-General/Intersection-between-line-and-circle/td-p/831902 ------------------GrüsseThomasKorrekturen zum Kochbuch AutoLISP
|
In das Form Lisp wechseln |
|
Lisp : Schnittpunkt ohne Geometrie
archtools am 01.08.2011 um 11:59 Uhr (0)
Zitat:Original erstellt von Bernd10:Hallo Thomas,danke für Deine Antwort. Das übersteigt meine Mathe-Kenntnisse. Ich verstehe zwar noch, dass es die drei Fälle geben kann, aber dann ist es vorbei mit meinem Verständnis. Eine Umsetzung in eine Lisp-Funktion ist mir deshalb leider nicht möglich.Viele GrüßeBernd[Diese Nachricht wurde von Bernd10 am 01. Aug. 2011 editiert.]1. Zentrum des Kreises berechnen2. Normalvektor vom Zentrum des Kreises auf die Linie ermitteln3. Schnittpunkt der Linie, die der Normalv ...
|
In das Form Lisp wechseln |
|
Lisp : Schnittpunkt ohne Geometrie
Bernd10 am 01.08.2011 um 14:42 Uhr (0)
Hallo Thomas,danke für Deine Informationen. Zitat:Original erstellt von tunnelbauer: http://forums.autodesk.com/t5/Visual-LISP-AutoLISP-and-General/ Intersection-between-line-and-circle/td-p/831902 Die Lisp-Funktionen in diesem Beitrag berechnen den von mir gesuchten Schnittpunkt. Ich verstehe zwar nicht nicht wie das passiert, aber ich werde es mir noch genauer ansehen.Viele GrüßeBernd
|
In das Form Lisp wechseln |
|
Lisp : Blockattribute drehen
Dorfy am 01.08.2011 um 16:12 Uhr (0)
Zitat:Original erstellt von cadplayer:Danke für Eure Anworten@Dorfy attsync ist doch meiner Meinung nach nur möglich, wenn man Blockeigenschaften von einem Original zur Kopie überträgt....ähm - nöwie rübe schin sagt, einfach mal probieren...ungetestet so Code:(DEFUN c:rb (/ ele wi ) (SETQ ele (CAR (ENTSEL "Block wählen: "))) (setq bname (vla-get-Name (vlax-ename-vla-object ele))) (SETQ ele (ENTGET ele)) (COMMAND "_ucs" "_object" (CDR (ASSOC -1 ele))) (SETQ wi (+ (CDR (ASSOC 50 ele)) (GETANGLE (TRA ...
|
In das Form Lisp wechseln |
|
Lisp : Blockattribute drehen
Dorfy am 01.08.2011 um 14:14 Uhr (0)
jag mal attsync drüber...------------------Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..."
|
In das Form Lisp wechseln |