|
AutoLisp : entmake mit Mechanical Elementen
mapcar am 02.08.2004 um 22:45 Uhr (0)
Tja, nachdem hier keiner antwortet, der es 100%ig weiss - ich bin mir nur ziemlich sicher: Auch die Entity-Typen der Vertikalen Applikationen laufen unter CUSTOM ENTITIES - und Lisp kann nun mal keine C.E. erzeugen. Das geht derzeit nur mit ObjectARX und mit .NET (mit der Einschränkung allerdings, dass man mit .NET welche erzeugen kann, aber AutoCAD die nicht erkennt). (entmod) ist viel allgemeiner gelagert - vielleicht hast du Glück und kriegst es hin, dass du eine Kopie machst und so lange mit entmod f ...
|
| In das Form AutoLisp wechseln |
|
Autocad VBA : Polygon
mapcar am 16.11.2004 um 19:02 Uhr (0)
Hallo cnc, in AutoCAD werden Polygone als geschlossene Polylinien dargestellt. Ich nehme an, dass es dir um regelmäßige Polygone geht, ja? Die Innenwinkelsumme beträgt (N - 2) * 180° , und wenn du das durch N teilst, hast du den Innenwinkel einer Ecke. Als Beispiel: Beim regelmäßigen 13-Eck beträgt die IWS 1980°, ein IW hat also etwa 152,3°. Und ferner gilt, dass die Kantenlänge so berechnet werden kann: KL = 2Ru * cos(IW/2) (Ru ist der Radius des Umkreises). Die Beziehung zwischen Umkreis und Inkreis l ...
|
| In das Form Autocad VBA wechseln |
|
AutoLisp : Kreiskoordinaten Variable benutzen???
mapcar am 18.10.2004 um 13:50 Uhr (0)
Versuch s mal hiermit: Code: (defun c:rv( / r1 r2 tg p pi/3 _rb _dr) (defun _rb(r1 r2 tg p / loop drawn cen i _draw) (defun _draw( / ) (if( =(distance p cen)(- r1 r2)) (progn (command _circle cen r2) (setq drawn(1+ drawn)) ) ) ) (setq drawn 1) (setq cen p) (_draw) (setq loop 1) (while(not(zerop drawn)) (setq drawn 0) (setq i 0) (repeat 6 (setq cen(polar p(* i pi/3)(* loop tg))) (repeat loop (setq cen(polar cen(*(+ i 2)pi/3 ...
|
| In das Form AutoLisp wechseln |
|
Rund um Autocad : Attribute mit gleicher Bezeichnung
mapcar am 06.09.2004 um 09:17 Uhr (0)
Tja, domi, du siehst schon, es gibt viele Möglichkeiten, wobei die von Otterloh in meinen Augen die praktischste ist. Du klammerst dich aber mit aller Gewalt an die Vorstellung von drei Attributen, die nicht nur den gleichen Inhalt, sondern auch noch den gleichen Namen haben. Ich sag dazu nix mehr, das habe ich schon. Hier ein paar Lisp-Zeilen, die das machen, was du möchtest: Sie setzen den Wert dieser drei Attribute. Es ist dabei egal, ob die Attribute TITEL1 , TITEL2 und TITEL3 heissen oder alle ...
|
| In das Form Rund um Autocad wechseln |
|
AutoLisp : Geländemodell DGM Höhenpunkte
mapcar am 17.11.2004 um 12:35 Uhr (0)
Schau dir diese Funktion im Code an: Code: (defun DRAWTRIANGLE (triangle) ; (entmake (list (cons 0 "LINE")(cons 10 (car triangle))(cons 11 (cadr triangle)))) ; (entmake (list (cons 0 "LINE")(cons 10 (cadr triangle))(cons 11 (caddr triangle)))) ; (entmake (list (cons 0 "LINE")(cons 10 (caddr triangle))(cons 11 (car triangle)))) (grdraw (car triangle)(cadr triangle) 1) (grdraw (cadr triangle)(caddr triangle) 1) (grdraw (caddr triangle)(car triangle) 1) ) Kommentier die drei unteren Zeilen raus und ...
|
| In das Form AutoLisp wechseln |
|
Lisp : Doppelte Elemente einer Liste finden...
mapcar am 13.05.2004 um 10:47 Uhr (0)
@marc: Teil 1 glaube ich dir aufs Wort. Ich hab hier grad kürzlich auch ein bisschen am Thema vorbeiargumentiert (ging irgendwie um verschachtelte Blöcke) - aber dass das nicht wieder vorkommt? Wer kann das schon von sich behaupten??? Zu weit aus dem Fenster gelehnt bedeutet Absturzgefahr;-)@tom: Ich kann dir das Gegenteil im Moment nicht beweisen - im Entwicklerhandbuch des 48 habe ich bei einer kurzen Suche grad eben überhaupt keinen Hinweis auf den Namen RPL gefunden. Aber: Der Stack des 48 hat bei RPL ...
|
| In das Form Lisp wechseln |
|
AutoLisp : Probleme mit Auswahlsatz
mapcar am 02.08.2004 um 22:36 Uhr (0)
(lselsetp ...) ist Lisp-intern eine Prädikatfunktion, die ein Argument daraufhin testet, ob es einen Auswahlsatzsatz enthält. In deinem Fall ist es wohl so, dass ein (ssget ...) o.ä. nil zurückgegeben hat (das ist ja das Problem: Es wäre viel sauberer, wenn man dann wenigstens einen leeren Satz kriegen würde - aber man kriegt nil. Wenn man dann hinzufügen will, kommt genau dieser Fehler. Tom hat 100% Recht: All diesen Quark sollte man einmal im Leben behandeln und sich ein paar Funktionen schreiben. Und da ...
|
| In das Form AutoLisp wechseln |
|
Rund um Autocad : Attribute mit gleicher Bezeichnung
mapcar am 03.09.2004 um 23:21 Uhr (0)
Hi domi! Danke für die Super Hilfe! Ich helfe gerne, aber nur dann, wenn ich - selbst wenn es nur minimal ist - das Gefühl habe, einen Beitrag zu irgendetwas Sinnvollem zu leisten. Dein Ansinnen allerdings läßt mich eher an einen kleinen Scherz denken als an irgendeine sinnvolle Anwendung von AutoCAD-Funktionalität. Deswegen finde ich es völlig korrekt, wenn ich erstmal frage, was der Sinn des Ganzen ist, bevor ich irgendwie Gehirnschmalz in deine Ideen investiere. Die Hilfe hier findet nämlich auf freiw ...
|
| In das Form Rund um Autocad wechseln |
|
Rund um Autocad : Polylinien
mapcar am 23.10.2004 um 14:25 Uhr (0)
Schwer, bei einer derartig unpräzisen und missverständlichen Fragestellung zu helfen. Unter der Voraussetzung, dass das hier: die Polylinien in Normalelinien umwandeln heißt, dass du in normale Linien umwandeln möchtest (gibt s in AutoCAD noch andere, die nicht normal sind?), tut s EXPLODE. Falls hier die Rede von Normalenlinien war, empfehle ich zum Berechnen der Normalen die Funktion nor des Geomcal. Und falls es um Messpunkte in einer Datei geht, die automatisiert als Linien in AutoCAD gezeichn ...
|
| In das Form Rund um Autocad wechseln |
|
AutoLisp : Eigene Zeichnungseigenschaften definieren
mapcar am 31.08.2004 um 23:31 Uhr (0)
Danke, FiT. Möchte noch mal, was LDATA betrifft, auf diesen Thread hinweisen: http://ww3.cad.de/foren/ubb/Forum259/HTML/000323.shtml Wenn das ganze einfach bleiben soll, würde ich auch gar keine Anstrengungen unternehmen, Sachen wie dotted pairs usw. zu integrieren. Das mag zwar schön für den Programmierer sein, aber für den Benutzer würde ich auf die Datentypen Int32, Double, Point2d, Point3d, [optional auch Vector2d, Vector3d] und String setzen. Das hat den Vorteil, dass auch Applikationen in ander ...
|
| In das Form AutoLisp wechseln |
|
Autocad VBA : punkte kugeln
mapcar am 19.10.2004 um 22:53 Uhr (0)
Hi fuchsi, es bleibt aber die Frage: geht es über RE in UltraEdit, oder ist das einfach nur irgendein Search & Replace ? Das hat ja jede Textverarbeitung im weiteren Sinne, selbst Word und Notepad können das. Aber versuch mal, mit dem S&R von Word einen VBA-Code so einzufärben, wie er im VBA-Editor aussieht, oder die Validität einer email-Adresse zu testen. Ich weiss ja, ich mache hier Werbung für RE, als würde mich einer bezahlen. Aber es so traurig, wenn man feststelt: Das letzte Script hat mein Editor ...
|
| In das Form Autocad VBA wechseln |
|
AutoLisp : Nachkommastellen
mapcar am 26.11.2004 um 13:53 Uhr (0)
Wirklich klar ist es mir immer noch nicht;-) Zunächst mal: Bricscad 5.0 zeigt bei Eingabe von (rtos 8.88178e-016 2 3) auch 0.0000 an. Aber das ist eben nur die Anzeige auf dem Bildschirm - intern bleiben die Zahlen doch völlig unverändert. Wahrscheinlich willst du die Zahlen irgendwo rausschreiben. Schreibst du sie als Datentyp Double raus, hat deine Zahl auch noch in Excel oder sonstwo den Wert 8.88178E-16, schreibst du sie als Text raus, hast du in Intellicad ein Problem, wenn plötzlich eine andere For ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Zeichnungskopf-Attribute auslesen
mapcar am 12.07.2004 um 21:57 Uhr (0)
Genau andersrum: Aus der Batchdatei AutoCAD starten, mit Angabe der Zeichnung und des Sktipts: c:programme..acad.exe irgendeine.dwg /b mein-script.scr (nagel mich jetzt nicht fest, aber ich glaube, es ist /b für das Skript) Don t panic, wenn sich AutoCAD erstmal im Cache eingenistet hat, dauert der Start nur noch eine Sekunde. Funktioniert wunderbar, und man kann aus dem Skript heraus auch noch problemlos Lisp aufrufen. Mein Rekord liegt bei ca. 10000 Zeichnungen, lief ca. 4 Tage durch (war allerdings ei ...
|
| In das Form AutoLisp wechseln |