|
Lisp : Polylinien abhängig vom Startpunkt versetzen
cadffm am 28.08.2015 um 14:59 Uhr (1)
Ui,dann lassen wir mal Koordinatensysteme weg und gehen auf deine Vorstellung ein:Das Linienobjekt wird nicht benötigt, mit der Lispfunktion POLAR kommt man auch zu dem Punkt und erspart sich erstellen und löschen des unnötigen Objektes.(alerdings wirst du schnell sehen das in Acad die Winkel nicht in Dezimalgrad hinterlegt und verarbeitet werden)Immer um 1Grad drehen, dann ist es immer LINKS in Polylinienrichtung, aber nicht unbdingt, denn es kommt ja darauf an wo sich die anderen Punkte befinden, dein so ...
|
In das Form Lisp wechseln |
|
Lisp : plan mit Blöcken und Attributen umfärben
bixi1973 am 29.08.2015 um 11:52 Uhr (1)
Hallo cadffm!Bin begeistert, das macht genau das was ich brauche.Leider färbt es die MTEXTE nicht um.Hab bereits rumprobiert aber schaffe es nicht dass das klappt.Hab leider auch keine Erfahrung mit Lisp-programmieren und daran scheitert es auch.Vielleicht hat jemand Lust dies noch zu ergänzen.Wäre echt froh und dankbar über jede Hilfe.Gruß Karl
|
In das Form Lisp wechseln |
|
Lisp : Polylinien abhängig vom Startpunkt versetzen
CAD-Huebner am 29.08.2015 um 12:31 Uhr (15)
Hallo m.hacker,viellecht reicht ja auch schon die vorgefertigte Offset Methode (ActiveX) für deine Zwecke.ich hab das mal in eine einfache Lisp Routine (ohne Error Handling) gepackt zum Test.Code:(vl-load-com)(defun C:UHPLOFFSET ( / dist cnt obj sset) (Prompt "Gleichzeitiges Versetzen nach rechts von mehreren Polylinien - Udo Hübner 8/2015") (initget 6) ; Abfrage Versatzabstand 0 (if (setq dist (getdist (strcat "
Versatzabstand eingeben: " (rtos (getvar "OFFSETDIST")) ""))) (setvar "OFFSETDIST" dist) ) ( ...
|
In das Form Lisp wechseln |
|
Lisp : Polylinien abhängig vom Startpunkt versetzen
m.hacker am 31.08.2015 um 08:59 Uhr (1)
Hallo CAD-Huebner,das LISP macht genau das, was ich mir vorgestellt habe. Ich muss es jetzt noch genauer testen, aber erste versuche waren erfolgreich.Ich bin echt begeistert. DANKE!Ich würde es jetzt nur noch gerne verstehen.Die Linien werden in sset als "main entities only" gespeichertBeispiel Selection set: 924 oder Selection set: 8abVersetzt wird ja "obj" und mit (setq obj (vlax-ename-vla-object (ssname sset cnt))) wird pro Linie ein vla object erzeugt das versetzt werden kann?Die Abarbeitung der Schle ...
|
In das Form Lisp wechseln |
|
Lisp : Polylinien abhängig vom Startpunkt versetzen
m.hacker am 31.08.2015 um 17:12 Uhr (1)
Code: (command "_-layer" "_make" "LINIE1_BGL" "_color" "T" "255,0,0" "" "L" "CONTINUOUS" "" "") (setvar "OFFSETDIST" 1) (setq sset (ssget "_X" (list (cons 0 "LWPOLYLINE")(cons 62 1)))) ;(cons 62 1) filtert zusätzlich nach Farbe rot (if ( (setq cnt (sslength sset)) 0) ; wenn mehr als 0 Polylinien gewählt wurden (progn (while (= (setq cnt (1- cnt)) 0) (setq obj (vlax-ename-vla-object (ssname sset cnt))) (vla-offset obj (getvar "OFFSETDIST")) ; versetzen (vla-put-layer (vlax-e ...
|
In das Form Lisp wechseln |
|
Lisp : Distanz in Attribut schreiben
bugcad am 31.08.2015 um 23:49 Uhr (9)
Hallo!Mit einem alten Lisp unserer Firma kann ich einen Text in ein Attribut schreiben.Wie könnte das mit einem Abstand bzw. mit dem Wert aus einer Bemassung funktionieren ?Nachdem ich die Bemassung mit einem command Befehl starte und die beiden Punktedie abgegriffen werden, als pkt1 und pkt2 schon erfasst sind, könnte man es auch mit dist lösen ?Kurz gesagt, der Wert der letzten Bemassung soll in den nächsten neu einzufügenden Block in den tag "BREITE" geschrieben werden. Hat jemand eine Idee wie das klap ...
|
In das Form Lisp wechseln |
|
Lisp : plan mit Blöcken und Attributen umfärben
bixi1973 am 01.09.2015 um 18:15 Uhr (1)
Hallo Herr Hübner!Leider bin ich selber nicht im Besitz des ACAD 2016.habe dies aber bei einem Bekannten ausprobieren können und bin leider nicht zurecht gekommen.Könnten sie mir da bitte eine genaue Vorgehensweise schreiben, wie das genau funktioniert?Um mit meinem ACAD die MTEXTE farblich ändern zu können, wäre es schön, wenn mir bitte jemand die Lisp-Datei ändern könnte, dass ich diese auch mit meinem ACAD hinbekommen kann.LGKarl
|
In das Form Lisp wechseln |
|
Lisp : plan mit Blöcken und Attributen umfärben
cadffm am 04.09.2015 um 10:50 Uhr (1)
Das ist hier ja schon erwähnt, aber Stand-alone unbrauchbar (ist doch nur für unverschachtelte Objekte),das Lisp von CADwiesel sollte funktionieren (die DWG in der was nicht passt bleibt Bixi bisher schuldig).Der Code oben funktioniert sehr gut, die MTextformatierung und die Anzeigereihenfolge hinzupacken,auch dazu findet man fertige Bausteine im Netz, fertig.Wenn man aber mit Null(?) Lispkenntnis startet bekommt man dies nicht umgesetzt, man verheddert sich im Klammergewirr.------------------CAD on demand ...
|
In das Form Lisp wechseln |
|
Lisp : plan mit Blöcken und Attributen umfärben
bixi1973 am 04.09.2015 um 11:52 Uhr (1)
Zitat:Original erstellt von cadffm:Das ist hier ja schon erwähnt, aber Stand-alone unbrauchbar (ist doch nur für unverschachtelte Objekte),das Lisp von CADwiesel sollte funktionieren (die DWG in der was nicht passt bleibt Bixi bisher schuldig).Der Code oben funktioniert sehr gut, die MTextformatierung und die Anzeigereihenfolge hinzupacken,auch dazu findet man fertige Bausteine im Netz, fertig.Wenn man aber mit Null(?) Lispkenntnis startet bekommt man dies nicht umgesetzt, man verheddert sich im Klammerge ...
|
In das Form Lisp wechseln |
|
Lisp : Mehrere Blöcke bearbeiten
silcono am 07.09.2015 um 10:00 Uhr (1)
Hallo zusammen,folgende Ausgangslage:Ich habe eine DWG mit ca. 13500 Blöcken. Diese Blöcke sollen nun je eine Schraffur bekommen.Für einen einzelnen Block, wäre die übliche Vorgehensweise feolgende:Script:-BBEARBneu_ACAD_FMEBLOCK13423SCHRAFFSOLIDF -500,-500 500,500_BCLOSE-------LISP:(defun C:blockschr (/ ) (command "-BBEARB" "test_ACAD_FMEBLOCK4735" "") (command "SCHRAFF" "SOLID" "F" "-500,-500" "500,500" "") (command "_BCLOSE" ""))end defunIch kann nun diese Vorgehensweise einfach kopieren und den Namen f ...
|
In das Form Lisp wechseln |
|
Lisp : Mehrere Blöcke bearbeiten
CAD-Huebner am 07.09.2015 um 11:11 Uhr (1)
Zuerst einmal würde ich Befehl: ZURÜCK STEUERN KEINE setzen, um die Rückgängig Funktion nicht unnötig zu belasten.Dann kann man alle 100 Blöcke zwischenspeichern, ggf. sogar Zeichnung schließen und neu starten (allerdings höherer Programmieraufwand).Oder gänzlich auf Commands verzichten und alle Änderungen direkt mir Lisp/vba/.net in der Datenbank durchführen, allerdings müsste das Schraffurobjekt dann generiert werden und das ist je nach Kontur recht aufwändig. Da wäre ein Beispiel mit einigen ausgewählte ...
|
In das Form Lisp wechseln |
|
Lisp : Attribut als Variable, Variable als Attribut
spider_dd am 14.09.2015 um 15:54 Uhr (1)
Hallo KJ,Du hast den Code nicht wirklich zeilenweise eingegeben, oder??Pack das ganze mal in eine Datei und benutze den Visual-Lisp-Editor.Dann kannst Du das ganze auch zeilenweise/befehlsweise abarbeiten lassen und suchen, wo der Fehler steckt. Oder Du stellst mal eine Zeichnung mit Deinem Block hier rein, da können dann andere mal testen.GrußThomas
|
In das Form Lisp wechseln |
|
Lisp : Attribut als Variable, Variable als Attribut
spider_dd am 14.09.2015 um 16:48 Uhr (1)
Hallo KJ,du hast recht, geht auch mit gleichem Namen (wobei ich persönlich dass nicht machen würde).Dann steckt der Fehler noch woanders bei Dir, bei mir läuft es nämlich. Anbei mal das Lisp als Datei (zum laden ins ACAD, bzw. in den Lisp-Editor).Also doch eine Datei her.GrußThomasps. Prüfe noch mal Deinen Attributsnamen, oben schreibst Du was von GEN-TITLE-NR, im Lisp ist es GEN-TITLE-DAT[Diese Nachricht wurde von spider_dd am 14. Sep. 2015 editiert.]
|
In das Form Lisp wechseln |