 |
Lisp : Bemaßung per Hotkey umschalten
besele am 20.04.2017 um 07:26 Uhr (15)
Guten Morgen,mein Problem ist das seit Autocad 2017 die Bemaßung nicht mehr per Hotkey zum umschalten geht.Mein alter Befehl bis Cad 2016 war:(defun c:0001() (progn (command "_-dimstyle" "h" "Bem_1_0001") ))(defun c:0002() (progn (command "_-dimstyle" "h" "Bem_1_0002") ))Voraussetzung für diese funktionen ist das derbemstil schon existieren.Was ist jetzt anders?? Was bedeutet der Buchstabe "h"Wo bekomme ich die ganzen Befehle her wie zB. _-dimstyleDanke schon mal im Vorhineinlg besele
|
| In das Form Lisp wechseln |
|
Lisp : Bemaßung per Hotkey umschalten
cadffm am 20.04.2017 um 08:44 Uhr (1)
@beseleOffenbar lässt du dich durch englisch anstatt deutsch und den vielen Klammern einschüchtern.Wenn Interesse besteht, ich übersetze mal: (command "_.dimstyle" "_Restore" "Bem_1_0001")SENDE NACHFOLGENDE ANGABEN AN DIE BEFEHLSZEILE command ....._.dimstyleDer Unterstrich leitet einen Internationalen Befehl ein, dieser entspricht immer dem Befehl der englischen Acadvariante.Der Punkt stellt sicher den originalen Befehl aufzurufen (denn man kann Befehle umdefinieren/ändern)Anstatt "_.dimstyle" würde die Ei ...
|
| In das Form Lisp wechseln |
|
Lisp : Bemaßung per Hotkey umschalten
cadffm am 20.04.2017 um 09:13 Uhr (1)
Mache es wie beschrieben, arbeite den Befehl in der Befehlszeile durch (wie gewünscht)und schreibe dabei mit, inkl. jededem Bestätigen, denn auch das ist ja eine Eingabe.Befehl: kreisenterZentrum für Kreis angeben oder [3P/2P/Ttr (Tangente Tangente Radius)]: 10,10enterRadius für Kreis angeben oder [Durchmesser] 5.0000: DurchmesserenterDurchmesser für Kreis angeben 10.0000: 7.5enter(command "kreis" "10,10" "Durchmesser" "7.5")Wenn man sowas mal als Menümakro benötigt, dann ist die Schreibweise nur etwas and ...
|
| In das Form Lisp wechseln |
|
Lisp : Layer Löschen - mit (command ... ?
cadffm am 20.04.2017 um 09:19 Uhr (1)
Wenn der Layer ungenutzt ist, dann über Bereinigen/Purge.Wenn Bricscad kein LAYLÖSCH / LAYDEL kennt, Pech.Ohne DWG können wir dir aber nicht sagen wo der Layer noch angekettet ist in der DWG.PS: Fülle doch bitte deine Systeminfo aus, vielen Dank.------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : Bemaßung per Hotkey umschalten
cadffm am 20.04.2017 um 09:38 Uhr (1)
Zusätzlich, da die Frage kommen wird:Benutzerabfragen, Beispiel: Einfügepunkt(command "kreis" PAUSE "Durchmesser" "7.5")Oder als MakroKreis;Durchmesser;7.5 ------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : Flächen Summe berechnen
cadffm am 26.04.2017 um 15:53 Uhr (1)
Schau dir den Programmablauf in der Befehlszeile an,dann siehst du dass der Text-Befehl schon längst abgeschlossen ist wenn das Programm den Flächenwert angeben möchte.Ich vermute aufgrund deiner Beschreibung dass du in der aktuellen Datei dem aktuellen Textstilbereits eine Texthöhe(ungleich0) zugewiesen hast, in der Folge fragt Acad die Texthöhe nicht mehr ab.Gehe den TEXTbefehl in der Befehlszeile einmal durch, einmal mit Textstil-Texthöhe=0 und einem mit /=0.zu deiner 2.Frage:Der Wert wird über (getvar ...
|
| In das Form Lisp wechseln |
|
Lisp : Flächen Summe berechnen
cadffm am 26.04.2017 um 17:03 Uhr (9)
"Ich erkenne nicht wirklich einen Unterschied?"Dann schau genauer, gehe Eingabe für Eingabe durch.Lese meine Antwort noch mal und gehe der Sache entsprechend nach.ACAD FRAGT (oder gibt an) / Das Programm liefert Antwort (gemäß der Angaben die (Command .... an die Befehlszeile feuert)Auch habe ich den Tip gegeben es selbst per Hand durchzugehen, der Befehl lautet TEXTErkennst du da etwas wenn du das so siehst?Ja, das habe ich und geantwortet habe ich auch, inkl. der passenden Erklörung und wie du die Geschi ...
|
| In das Form Lisp wechseln |
|
Lisp : Flächen Summe berechnen
cadffm am 26.04.2017 um 17:52 Uhr (1)
Thema2Die Lösung hast du doch bereits und du hast auch richtig ersetzt.Die Textausgabe(F2) sollte also dem entsprechen was du haben möchtest?F2 zeigt also das geünschte Ergebnis, das neue Textobjekt aber nicht.Einziges Problem war noch: Erst an einer weiteren Stelle wird tatsächlich der Flächenwert zur Erstellungdes Textobjektes übergeben - in der (command ..)Zeile welche den Befehlk TEXT steuert.Du mußt also an dieser Stelle ebenfalls die Anpassung vornehmen.Und an dieser Stelle hattest du es nicht ersetz ...
|
| In das Form Lisp wechseln |
|
Lisp : Flächen Summe berechnen
cadffm am 26.04.2017 um 18:03 Uhr (1)
Zitat:Original erstellt von CADmium / durch cadffm modifiziertzu den Kommastellen... mach aus..(rtos (getvar "area") 2 5)..einfach..(rtos (/(getvar "area")1000.0) 2 5)..Genau so funktionierts und du hast es richtig ersetzt(schau auf die Ausgabe in deinem dein Textfenster!).Aber genau so mußt du auch an der zweite Stelle ersetzen, selbst wenn dort bei rtos nur zwei Nachkommastellen angegeben wurden in deinem "originalcode".------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : Flächen Summe berechnen
cadffm am 26.04.2017 um 18:08 Uhr (1)
aus(command "_text" startp "50" "0" (rtos (getvar "area")2 2))wird(command "_text" startp "50" "0" (rtos (/(getvar "area")1000.0) 2 2))Und wieviele Nachkommastellen du möchtest, kannst du selbst angeben. Die Erklärung und den Link zu RTOS habe ich dir bereits gegeben, auch der Hinweis das es aus meiner Sicht sinnvoll ist, wenn die Textfenster-Rückgabedas gleiche Ergebnis ausspuckt wie der neu erstellte Text. Also wähle bei beiden rtos-Ausdrücken die selbeAnzahl an Nachkommastellen (rtos 0.815 2 DIESERWERTH ...
|
| In das Form Lisp wechseln |
|
Lisp : Entity aus string lesen
cadffm am 26.04.2017 um 18:15 Uhr (1)
Wer hat denn den armen Entitynamen in die Anführungszeichen gezwungen und vor allem: Warum?Mir fällt da spontan (und ohne Google) keine Lösung ein,das Problem ist zu umgehen, Entityname als String macht keinen Sinn.------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : Entity aus string lesen
Brischke am 26.04.2017 um 18:27 Uhr (1)
... der Entity-Name ist nicht zu gebrauchen. Dann schau, dass du den GC 5 in die Ergebnisliste bekommst, dann kannst du mit (handent ..) das zugehörige Element ermitteln.Grüße!Holger------------------Holger BrischkeCAD on demand GmbHIndividuelle Lösungen von Heute auf Morgen.defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
|
| In das Form Lisp wechseln |
|
Lisp : Entity aus string lesen
cadffm am 26.04.2017 um 18:35 Uhr (1)
Arbeiten innerhalb einer Dateisitzung: Entityname OK, aber als String weder sinnvoll noch nutzbarArbeiten innerhalb der Dateisitzung und auch über Dateien und Dateisitzungen hinweg, immer nur das Handle nutzen.BTW: Ich bin ziemlich sicher - es gibt keinen Weg der Verwendbarkeit.Der einzige theoretisch mögliche Weg wäre, ein String-Vergleich zwischen dem gespeicherten Stringund den, zum test in Strings umgewandelten, Entitynames in der Zeichnung = alle Objekte durchlaufen und vergleichen.Dieses BTW dient a ...
|
| In das Form Lisp wechseln |