| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: Flächen Summe berechnen (2753 / mal gelesen)
|
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 26. Apr. 2017 15:13 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen Ich hätte zwei Fragen zu folgender Lisp. (ich meine ich habe diese Lisp von Cadwiesel.de) (defun c:fla_ber ( / t_2 Ss) ;;(if ;; (/= (findfile "md_fla.dwg")nil) ;;(progn (setq Ss nil t_2 nil) (setq Ss (ssget ));'((0 . "LWPOLYLINE")))) (if (not Ss) (princ (strcat "\nNichts gewählt.")) (progn (command "_.area" "_a" "_o") (while (setq t_2 (ssname Ss 0)) ;;; (setq md_in (cdr (assoc 10 (entget t_2)))) ;;; (setq md_rnr_in (ssget "X" t_2)) ;;; (setq startp md_in) (command t_2) (setq Ss (ssdel t_2 Ss)) );while (command "" "") (princ "\n") (princ (strcat "\n*****Gesamtfläche: " (rtos (getvar "area") 2 5)))(terpri) ;(command "_.Insert" "md_fla" startp "1" "1" "0" (rtos (getvar "area")2 2)) );endprogn );endif (setq startp (getpoint "Einfügepunkt:")) (command "_text" startp "50" "0" (rtos (getvar "area")2 2)) ; ;ende progn ; ;end if (princ) )
Die Lisp funktioniert "eigentlich" sehr gut. Frage 1:
In folgender DWG Zeichnung ist mein Ergebnis "0". Warum auch immer. (*****Gesamtfläche: 26089.90630) Command: FLA_BER Select objects: 1 found Select objects: _.area Specify first corner point or [Object/Add area/Subtract area] <Object>: _a Specify first corner point or [Object/Subtract area]: _o (ADD mode) Select objects: Area = 26089.906, Perimeter = 737.768 Total area = 26089.906 (ADD mode) Select objects: Area = 26089.906, Perimeter = 737.768 Total area = 26089.906 Specify first corner point or [Object/Subtract area]: Total area = 26089.906 Command: *****Gesamtfläche: 26089.90630 Einfügepunkt:_text Current text style: "Standard" Text height: 1.000 Annotative: No Justify: Left Specify start point of text or [Justify/Style]: Specify rotation angle of text <50.000>: 50 Enter text: 0 Command: 26089.91 Unknown command "91". Press F1 for help. Command: Dann dachte ich das dass Polygon eventuell nicht Sauer gezeichnet bzw. geschlossen ist. Kopiere ich genau das selbe Polygon in eine neue Leere Zeichnung, wird mir die Fläche als Text richtig dargestellt.
Ich vermute diese DWG hat eine andere Einstellung? Weiss jemand was ich tung kann, damit mir die Lisp die das richtige Ergebnis ausliest? Frage 2:
Ist es möglich (da ich nicht im Meterbereich Zeichne) das Ergebnis von 26089.90630 auf 2,6089.90630 umzuändern? Also immer 4 Stellen kleiner. Musste letztens das Ergebnis auslesen bzw. in eine Exceltabelle schreiben. Hatte mich mit den Kommastellen verzählt. Danke und Gruss
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 26. Apr. 2017 15:53 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
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 Textstil bereits 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 "area") abgfragt, an der Stelle kannst du den Wert also ändern. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 26. Apr. 2017 15:55 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
|
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 26. Apr. 2017 16:45 <-- editieren / zitieren --> Unities abgeben:
Frage/Thema1 In dieser Zeichnung funktioniert es: Command: FLA_BER Select objects: 1 found Select objects: _.area Specify first corner point or [Object/Add area/Subtract area] <Object>: _a Specify first corner point or [Object/Subtract area]: _o (ADD mode) Select objects: Area = 209265.4921, Perimeter = 1976.8688 Total area = 209265.4921 (ADD mode) Select objects: Area = 209265.4921, Perimeter = 1976.8688 Total area = 209265.4921 Specify first corner point or [Object/Subtract area]: Total area = 209265.4921 Command: *****Gesamtfläche: 209265.4921 Einfügepunkt:_text Current text style: "Standard" Text height: 2.5000 Annotative: No Justify: Left Specify start point of text or [Justify/Style]: Specify height <2.5000>: 50 Specify rotation angle of text <0>: 0 Enter text: 209265.49 Command: In dieser Zeichnung funktioniert es NICHT: Command: FLA_BER Select objects: 1 found Select objects: _.area Specify first corner point or [Object/Add area/Subtract area] <Object>: _a Specify first corner point or [Object/Subtract area]: _o (ADD mode) Select objects: Area = 209265.492, Perimeter = 1976.869 Total area = 209265.492 (ADD mode) Select objects: Area = 209265.492, Perimeter = 1976.869 Total area = 209265.492 Specify first corner point or [Object/Subtract area]: Total area = 209265.492 Command: *****Gesamtfläche: 209265.49210 Einfügepunkt:_text Current text style: "Standard" Text height: 1.000 Annotative: No Justify: Left Specify start point of text or [Justify/Style]: Specify rotation angle of text <0.000>: 50 Enter text: 0 Command: 209265.49 Unknown command "49". Press F1 for help. Command:
Ich erkenne nicht wirklich einen Unterschied? Erkennst du da etwas wenn du das so siehst?
Frage/Thema2:
(defun c:fla_ber1 ( / t_2 Ss) ;;(if ;; (/= (findfile "md_fla.dwg")nil) ;;(progn (setq Ss nil t_2 nil) (setq Ss (ssget ));'((0 . "LWPOLYLINE")))) (if (not Ss) (princ (strcat "\nNichts gewählt.")) (progn (command "_.area" "_a" "_o") (while (setq t_2 (ssname Ss 0)) ;;; (setq md_in (cdr (assoc 10 (entget t_2)))) ;;; (setq md_rnr_in (ssget "X" t_2)) ;;; (setq startp md_in) (command t_2) (setq Ss (ssdel t_2 Ss)) );while (command "" "") (princ "\n") (princ (strcat "\n*****Gesamtfläche: " (rtos (/(getvar "area")1000.0) 2 5)))(terpri) ;(command "_.Insert" "md_fla" startp "1" "1" "0" (rtos (getvar "area")2 2)) );endprogn );endif (setq startp (getpoint "Einfügepunkt:")) (command "_text" startp "50" "0" (rtos (getvar "area")2 2)) ; ;ende progn ; ;end if (princ) ) Habe ich es falsch eingefügt? Da kommt das Identische Ergebnis raus??? Gruss
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 26. Apr. 2017 16:46 <-- editieren / zitieren --> Unities abgeben:
Zitat: P.S. zu deiner Xrefgeschichte erwarte ich eigentlich noch ne Rückmeldung...
ich komme nicht ganz nach. Ich gucks mir immer wieder an und Lese es durch ich versuch mal gleich darauf zu Antworten... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 26. Apr. 2017 16:57 <-- editieren / zitieren --> Unities abgeben:
Gehe den TEXTbefehl in der Befehlszeile einmal durch, einmal mit Textstil-Texthöhe=0 und einem mit /=0. warte ich glaube ich weiss was du meinst... die null die ausgegeben wird hat einen Winkel von 50.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 26. Apr. 2017 17:03 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
"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 TEXT Erkennst 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 Geschichte selbst testen und damit dann auch verstehen kannst könntest. "Habe ich es falsch eingefügt? Da kommt das Identische Ergebnis raus???" Das war unglücklich im doppelten Sinn, hier die Auflösung: Code: (strcat "\n*****Gesamtfläche: " (rtos (getvar "area") 2 5)))(terpri) ; Hier wird die Info in das Textfenster(F2) geschrieben, warum diese 5 anstatt 2 ; Nachkommastellen haben sollte verstehe ich nicht, eine 2 statt 5 wäre logisch. ;(command "_.Insert" "md_fla" startp "1" "1" "0" (rtos (getvar "area")2 2)) ; Diese Zeile ist auskommentiert (Semikolon davor), macht also NICHTS im Programm );endprogn );endif (setq startp (getpoint "Einfügepunkt:")) (command "_text" startp "50" "0" (rtos (getvar "area")2 2)) ; HIER wird mit Command die Befehlszeileneingabe durchgeführt! Hier muß geändert werden ; Am besten änderst du den Ausdruck ebenfalls in der Zeile welche das Ergebnis nur ins Textfenster schreibt, sinnvoll wäre es ja?
Erklärung: RTOS wandelt Zahlenwerte in Text um (rtos ZAHLENWERT EINHEITENANGABE ANZAHL-NACHKOMMASTELLEN) (rtos 2.503 2 1) = "2.5" (rtos 2.503 2 3) = "2.503"
PS: Bitte nutze die CODE Formatierung in deinen Antworten wenn du Code postest, oder deaktiviere die Smilies. Keiner kann deinen Code copy&paste nutzen, da hat man eigentlich keine Lust mehr Danke
------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 26. Apr. 2017 17:35 <-- editieren / zitieren --> Unities abgeben:
Thema1 Bei einigen Plänen Liegt der _style leider nicht auf Arial. Deshalb benutze ich ab und zu diesen Schnellbefehl davor: STYLE;Standard;Arial;1;1;0;no;no;regen; Dank dir weiss ich jetzt aber das die Texthöhe auf null und nicht auf eins sein darf (neuer Befehl): STYLE;Standard;Arial;0;1;0;no;no;regen; (dadurch war die Reihenfolge der Zahlen verschoben) Jetzt funktioniert mein Befehl. Danke Thema2
Keine Ahnung... Wie viele kommastellen hinter dem komma erscheinen sollen habe ich noch verstanden... den rest leider nicht. Ziel:
(rtos 2.503 2 7) = "2.503" = 0.0002503 Zitat: PS: Bitte nutze die CODE Formatierung in deinen Antworten wenn du Code postest, oder deaktiviere die Smilies. Keiner kann deinen Code copy&paste nutzen, da hat man eigentlich keine Lust mehr Danke
Macht Sinn, danke für das Aufmerksam machen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 26. Apr. 2017 17:37 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 26. Apr. 2017 17:52 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Thema2 Die 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 Erstellung des 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 ersetzt, dies ist auch kein Vorwurf, nur ein Hinweis.
------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 26. Apr. 2017 17:53 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 26. Apr. 2017 18:03 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Zitat: Original erstellt von CADmium / durch cadffm modifiziert zu 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 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 26. Apr. 2017 18:04 <-- editieren / zitieren --> Unities abgeben:
(defun c:fla_ber1 ( / t_2 Ss) ;;(if ;; (/= (findfile "md_fla.dwg")nil) ;;(progn (setq Ss nil t_2 nil) (setq Ss (ssget ));'((0 . "LWPOLYLINE")))) (if (not Ss) (princ (strcat "\nNichts gewählt.")) (progn (command "_.area" "_a" "_o") (while (setq t_2 (ssname Ss 0)) ;;; (setq md_in (cdr (assoc 10 (entget t_2)))) ;;; (setq md_rnr_in (ssget "X" t_2)) ;;; (setq startp md_in) (command t_2) (setq Ss (ssdel t_2 Ss)) );while (command "" "") (princ "\n") (princ (strcat "\n*****Gesamtfläche: " (rtos (/(getvar "area")1000.0) 2 5))) ;(command "_.Insert" "md_fla" startp "1" "1" "0" (rtos (getvar "area")2 2)) );endprogn );endif (setq startp (getpoint "Einfügepunkt:")) (command "_text" startp "50" "0" (rtos (/(getvar "area")1000.0)2 2)) ; :zwinker:;ende progn ; :zwinker:;end if (princ) )
Zitat: Die Lösung hast du doch bereits und du hast auch richtig ersetzt...Du mußt also an dieser Stelle ebenfalls die Anpassung vornehmen.
Dankeschön es funktioniert :smile:
[Diese Nachricht wurde von fmfm am 26. Apr. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 26. Apr. 2017 18:08 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
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ückgabe das gleiche Ergebnis ausspuckt wie der neu erstellte Text. Also wähle bei beiden rtos-Ausdrücken die selbe Anzahl an Nachkommastellen (rtos 0.815 2 DIESERWERTHIER) ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3067 Registriert: 26.08.2002 ACAD R11 - 2018.1.2 (Plant3D) AVIS ACAD LT 2013- 2020 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 27. Apr. 2017 13:55 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
|
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 22. Aug. 2017 18:01 <-- editieren / zitieren --> Unities abgeben:
|
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3067 Registriert: 26.08.2002 ACAD R11 - 2018.1.2 (Plant3D) AVIS ACAD LT 2013- 2020 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 22. Aug. 2017 19:15 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
|
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 23. Aug. 2017 11:16 <-- editieren / zitieren --> Unities abgeben:
@cadwomen vielen vielen Dank das ist genau das was ich gesucht habe. Durch diese LSP habe ich erkannt das ich mir noch mehr Arbeit sparen kann: Habe ca. 100 Polygone. Diese Haben jeweils 3 texte. Raumnummer, Raumname und Fläche. Mein Ziel: Ich habe ein Blockattribut erstellt wo ich diese Informationen eintragen möchte. Fläche ist nun mit deiner LSP geklärt. Raumnummer und Raumname über nehme ich mit Copy&Paste. Noch cooler wäre es wenn ich das genau so wie bei der Fläche einfach per Mausklick übertragen kann.... Gruss fmfm
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 23. Aug. 2017 11:24 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
... so wie es für mich klingt, hast du innerhalb von Raumpolygonen irgendwelche Texte stehen, die den Raum beschreiben. Meine Vermutung: Daraus sollst du nun Raumstempel (Inserts mit Attributen) machen, die Info's aus den Texten zzgl. der korrekten Polygonfläche in die Attribute des Raumstempels übertragen. Das lässt sich in jedem Fall automatisieren, je nach Zeichnungsaufbau auch so, dass die ganze Klickerei nicht notwendig ist. Ich habe derartige Dinge bereits mehrfach gelöst ... wenn du bereit bis ein paar Euro's in die Hand zu nehmen, kannst du mir mal eine exemplarische Zeichnung mailen, dann kann ich schauen, ob mein Lösungsansatz auf deine Umgebung übertragen werden kann. Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 23. Aug. 2017 11:36 <-- editieren / zitieren --> Unities abgeben:
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 23. Aug. 2017 11:42 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
|
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 23. Aug. 2017 11:50 <-- editieren / zitieren --> Unities abgeben:
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 23. Aug. 2017 12:08 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
... das Thema nimmt dann ein Ende, wenn die Aussagen in sich schlüssig sind. Aus deinem letzten Post formuliere ich die Vermutung, dass du deinen Chef nicht einmal nach einer Geld kostenden Lösung gefragt hast, da du dann keinen Job und folglich auch kein Einkommen hast? Wenn dem so ist, dann hast du deinem Chef die folgenden Möglichkeiten genommen: - weitere Aufträge anzunehmen, da du ja beschäftigt bist - schneller eine Rechnung zu stellen, da die manuelle Bearbeitung sicher sehr viel mehr Zeit benötigt als die Programmierung und Anwendung - bessere Qualität zu liefern, da bei derartigen, stupiden Tätigkeiten Fehler kaum ausgeschlossen werden können Die Aussage: Digitalisierung vernichtet Arbeitsplätze fällt mir dazu ein: Du kannst gerne mal nach Statisiken suchen .. die Ergebnisse sind allesamt gleich: Digitalisierung schafft Arbeitsplätze, allerdings für höher qualifizierte Tätigkeiten. Deshalb lasse ich mich auch noch dazu verleiten, dir eine Perspektive aufzuzeigen, die sich dann auch wieder finanziell für dich lohnt. Die durch den Einsatz eines Programms gewonnene Zeit könntest du für deine Qualifizierung/Weiterbildung nutzen, was dann sicherlich auch eine höhere Entlohnung nach sich zieht und du nicht mehr solche langweiligen und anspruchslosen Tätigkeiten machen müsstest. Aber sei es drum ... Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 23. Aug. 2017 13:33 <-- editieren / zitieren --> Unities abgeben:
also hab mein Chef schon öfters gefragt bezüglich LSP. KEINE CHANCE auch mit Argumenten. (Vergisst bitte dieses Thema) Andererseits kommt sowas immer mal wieder vor. Ich möchte nicht von euch Abhängig sein. Ich möchte einfach texte mit einer LSP übertragen. Wenn es so eine LSP gibt, wäre ich dankbar. Vielen Dank Grüsse fmfm
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3067 Registriert: 26.08.2002 ACAD R11 - 2018.1.2 (Plant3D) AVIS ACAD LT 2013- 2020 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 23. Aug. 2017 14:38 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
OT Alternative für dich. Lisp lernen ( ist ja nicht wie deutsch )
OT Ende cu Cw ------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist nur die Spitze des Berges der da treibt ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 23. Aug. 2017 14:50 <-- editieren / zitieren --> Unities abgeben:
werd ich jetzt hier angegriffen weil mein Chef kein Geld investieren möchte? Ich versuche mir die Arbeit zu erleichtern durch das Forum Cad.de. Was ist den euer Problem? Wenn mein Chef sagen würde hier nimm das Geld und lass dir LSP-Dateien erstellen so dass meine Arbeit ganz einfach wäre, denkt ihr dann würde ich NEIN sagen? P.S. fall jemand so eine bereits erstelle LSP kennt, wäre ich sehr Dankbar
Liebe Grüsse [Diese Nachricht wurde von fmfm am 23. Aug. 2017 editiert.]
[Diese Nachricht wurde von fmfm am 23. Aug. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 23. Aug. 2017 15:14 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Zitat: Original erstellt von fmfm: werd ich jetzt hier angegriffen weil mein Chef kein Geld investieren möchte?
... das ist bisher nicht meine Absicht gewesen. Zitat: Original erstellt von fmfm: ... Was ist den euer Problem?...
... ich habe kein Problem. Zitat: Original erstellt von fmfm: ... Wenn mein Chef sagen würde hier nimm das Geld und lass dir LSP-Dateien erstellen so dass meine Arbeit ganz einfach wäre, denkt ihr dann würde ich nein sagen?
... wohl nicht, denn dieser Job macht bestimmt keinen Spaß. Zitat: Original erstellt von fmfm: ... P.S. fall jemand so eine bereits erstelle LSP kennt, wäre ich sehr Dankbar ...
Mit dieser Aussage habe ich ein Problem und ich greife dich nun auch an: Solch ein Programm ist nicht trivial, und in der Lösung dieser Aufgabenstellung steckt weit mehr als die Kenntnis der Lisp-Syntax. Jemand, der so ein Programm hat, der hat darin einige Gedanken und auch entsprechend viel Zeit investiert. Ich gehe davon aus, dass dein Chef mit dieser Dienstleistung Geld verdient. Derjenige der den Aufwand in ein solches Programm investiert hat, der hat erkannt, dass er seine Arbeit jetzt effektiver/schneller/... gestalten kann - er hat sich einen Marktvorteil verschafft, weil er investiert hat. Das Programm hat folglich einen Wert. Du schreibst, dass du/dein Chef kein Geld dafür zahlen wirst. Daher kann es nun nur dein Wunsch sein, solch ein Programm geschenkt zu bekommen. Mit Verlaub, das finde ich ziemlich vermessen und drückt die geringe Wertschätzung dem Aufwand gegenüber aus, der in diesem Programm steckt. Härter ausgedrückt: Du/Dein Chef will die gleichen Wettbewerbsvorteile ohne zu investieren. Soweit meine Meinung. Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 23. Aug. 2017 15:28 <-- editieren / zitieren --> Unities abgeben:
Also... mein Chef hat gesagt ich soll die Aufgabe schnell in die fingernehmen und COPY and PASTEN. Er hat nicht gesagt probier dein Glück auf CAD.de. Es gibt kostenlose LSP-Datein in diesem oder anderen Foren und wenn ich diese nicht nutzen würde wäre es ja dumm. Zudem habe ich nicht gesagt du sollst mir eine neue LSP erstellen. Fertig mehr gibts nicht zu sagen. Für mich ist dieses Thema beendet. Mittlerweile, sogar wenn ich Geld hätte, würde ich bei dir nichts kaufen. Du erzwingst es. Schönen Tag noch
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 23. Aug. 2017 16:15 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Zitat: Original erstellt von fmfm: Also... mein Chef hat gesagt ich soll die Aufgabe schnell in die fingernehmen und COPY and PASTEN. Er hat nicht gesagt probier dein Glück auf CAD.de.
ok, ich denke dein Chef beherrscht eine Amortisationsrechnung. Nur es ist nun einmal so, dass Chefs nicht alle Wege kennen. Wenn die Mitarbeiter immer genau das machen, was der Chef sagt, dann glaube ich nicht, dass das Unternehmen langfristig erfolgreich sein wird - der mitdenkende Mitarbeiter und der das auch einfordernde Chef unterscheiden uns (zur Zeit noch) von den Verhältnissen in China und machen deutsche Unternehmen erfolgreich. Zitat: Original erstellt von fmfm: ... Es gibt kostenlose LSP-Datein in diesem oder anderen Foren und wenn ich diese nicht nutzen würde wäre es ja dumm.
Ist klar und auch nachvollziehbar. Zitat: Original erstellt von fmfm: ... Zudem habe ich nicht gesagt du sollst mir eine neue LSP erstellen.
Das wäre ja auch nicht nötig, denn ich hatte dir angeboten, zu schauen, ob existierende Lösungen anwendbar sind. Selbst wenn eine passt, ergibt sich daraus kein Argument, diese Lösung dann kostenlos herauszugeben - das Programm hat einen Wert! Zitat: Original erstellt von fmfm: ... Mittlerweile, sogar wenn ich Geld hätte, würde ich bei dir nichts kaufen. Du erzwingst es. ...
Sorry, erzwingen kann ich ohnehin nichts. Es steht dir bzw. deinem Chef vollkommen frei auf mein Dienstleistungsangebot einzugehen. Falls das bei dir in irgendeiner Weise ein Unbehagen verursacht hat, dann ist das wahrlich nicht meine Absicht gewesen und ich entschuldige mich dafür. Zu meinem Bestreben, Verständnis dafür zu wecken, dass solche Programme einen Wert besitzen, der sich für den Anwender vielfach rechnet, stehe ich jedoch nach wie vor. Hilfestellung beim Programmieren (wofür dieses Forum auch gedacht ist) ist etwas, was ich gerne tue - ist für mich allerdings nicht das zur Verfügung stellen vollständiger Programme zu speziellen Aufgaben. Ich denke, du wirst im Internet (vielleicht sogar auf deiner Festplatte) einige 1000 Zeilen frei verfügbarer Code von mir finden. Grüße! Holger
------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 23. Aug. 2017 16:36 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger ich nehme deine Entschuldigung an. Sollte irgendjemand anderes wissen wo ich so eine LSP-Datei finde, wäre ich ihm sehr dankbar (kostenlose Dankbarkeit). (Liebe) Grüsse von meinem Chef
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3067 Registriert: 26.08.2002 ACAD R11 - 2018.1.2 (Plant3D) AVIS ACAD LT 2013- 2020 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 23. Aug. 2017 17:06 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Zitat: Original erstellt von fmfm: Sollte irgendjemand anderes wissen wo ich so eine LSP-Datei finde, wäre ich ihm sehr dankbar (kostenlose Dankbarkeit).
(Liebe) Grüsse von meinem Chef[/i]
Hy Google.de cu cw ------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist nur die Spitze des Berges der da treibt ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 23. Aug. 2017 18:20 <-- editieren / zitieren --> Unities abgeben:
|
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 11. Sep. 2017 10:30 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen Lisp umschreiben Ziel: Attribut soll nur 2 komma stellen haben und nicht 4 und es soll mit " m²" enden. Beispiel: 145.5999 = 145.57 m² kann mir dazu bitte jemand helfen? ;;--------------------=={ Area Field to Attribute }==-------------------;; ;; ;; ;; This program allows a user to populate a selected attribute with ;; ;; a Field Expression referencing the area, or sum of areas, of one ;; ;; or more objects. ;; ;; ;; ;; Upon issuing the command syntax 'A2A' the user is prompted to ;; ;; make a selection of objects for which to retrieve the area; if ;; ;; more than one object is selected, the cumulative area for all ;; ;; objects will be displayed by the resultant Field Expression. ;; ;; ;; ;; Following object selection, the user is then prompted to select ;; ;; either an attributed block or an attribute in which to house the ;; ;; Field Expression. The Field will display the sum of the areas of ;; ;; the selected objects, formatted using the Field formatting code ;; ;; specified at the top of the program. ;; ;;----------------------------------------------------------------------;; ;; Author: Lee Mac, Copyright © 2013 - www.lee-mac.com ;; ;;----------------------------------------------------------------------;; ;; Version 1.2 - 2016-01-16 ;; ;;----------------------------------------------------------------------;;
(defun c:a2a ( / *error* ats att enx fmt idx inc lst sel tag tmp ) (setq fmt "%lu6%qf1" ;; Field Formatting tag nil ;; Optional predefined attribute tag ) (defun *error* ( msg ) (LM:endundo (LM:acdoc)) (if (not (wcmatch (strcase msg t) "*break,*cancel*,*exit*")) (princ (strcat "\nError: " msg)) ) (princ) ) (if (and (setq sel (ssget '((0 . "ARC,CIRCLE,ELLIPSE,HATCH,*POLYLINE,REGION,SPLINE")))) (progn (while (progn (setvar 'errno 0) (setq ats (nentsel "\nSelect attribute or attributed block: ")) (cond ( (= 7 (getvar 'errno)) (princ "\nMissed, try again.") ) ( (null ats) nil ) ( (and (= "ATTRIB" (cdr (assoc 0 (setq enx (entget (car ats)))))) (/= 'str (type tag)) ) (setq att (vlax-ename->vla-object (car ats))) nil ) ( (and (or (and (= "ATTRIB" (cdr (assoc 0 enx))) (setq tmp (cdr (assoc 330 enx))) ) (and (setq tmp (last (cadddr ats))) (= "INSERT" (cdr (assoc 0 (entget tmp)))) ) ) (setq tmp (vlax-invoke (vlax-ename->vla-object tmp) 'getattributes)) ) (not (or (and (= 'str (type tag)) (setq idx (vl-position (strcase tag) (mapcar 'vla-get-tagstring tmp))) (setq att (nth idx tmp)) ) (and (not (cdr tmp)) (setq att (car tmp)) ) (and (setq idx (LM:listbox "Choose Attribute" (mapcar 'vla-get-tagstring tmp) 2)) (setq att (nth (car idx) tmp)) ) ) ) ) ( (princ "\nThe selected object is not an attribute or attributed block.")) ) ) ) (= 'vla-object (type att)) ) ) (progn (LM:startundo (LM:acdoc)) (if (= 1 (sslength sel)) (vla-put-textstring att (strcat "%<\\AcObjProp Object(%<\\_ObjId " (LM bjectid (vlax-ename->vla-object (ssname sel 0))) ">%).Area \\f \"" fmt "\">%" ) ) (progn (repeat (setq inc (sslength sel)) (setq lst (vl-list* "%<\\AcObjProp Object(%<\\_ObjId " (LM bjectid (vlax-ename->vla-object (ssname sel (setq inc (1- inc))))) ">%).Area>%" " + " lst ) ) ) (vla-put-textstring att (strcat "%<\\AcExpr " (apply 'strcat (reverse (cdr (reverse lst)))) " \\f \"" fmt "\">%" ) ) ) ) (vl-cmdf "_.updatefield" (vlax-vla-object->ename att) "") (LM:endundo (LM:acdoc)) ) ) (princ) ) ;; List Box - Lee Mac ;; Displays a DCL list box allowing the user to make a selection from the supplied data. ;; msg - [str] Dialog label ;; lst - [lst] List of strings to display ;; bit - [int] 1=allow multiple; 2=return indexes ;; Returns: [lst] List of selected items/indexes, else nil (defun LM:listbox ( msg lst bit / dch des tmp rtn ) (cond ( (not (and (setq tmp (vl-filename-mktemp nil nil ".dcl")) (setq des (open tmp "w")) (write-line (strcat "listbox:dialog{label=\"" msg "\";spacer;:list_box{key=\"list\";multiple_select=" (if (= 1 (logand 1 bit)) "true" "false") ";width=50;height=15;}spacer;ok_cancel;}" ) des ) (not (close des)) (< 0 (setq dch (load_dialog tmp))) (new_dialog "listbox" dch) ) ) (prompt "\nError Loading List Box Dialog.") ) ( t (start_list "list") (foreach itm lst (add_list itm)) (end_list) (setq rtn (set_tile "list" "0")) (action_tile "list" "(setq rtn $value)") (setq rtn (if (= 1 (start_dialog)) (if (= 2 (logand 2 bit)) (read (strcat "(" rtn ")")) (mapcar '(lambda ( x ) (nth x lst)) (read (strcat "(" rtn ")"))) ) ) ) ) ) (if (< 0 dch) (unload_dialog dch) ) (if (and tmp (setq tmp (findfile tmp))) (vl-file-delete tmp) ) rtn ) ;; ObjectID - Lee Mac ;; Returns a string containing the ObjectID of a supplied VLA-Object ;; Compatible with 32-bit & 64-bit systems (defun LM bjectid ( obj ) (eval (list 'defun 'LM bjectid '( obj ) (if (wcmatch (getenv "PROCESSOR_ARCHITECTURE") "*64*") (if (vlax-method-applicable-p (vla-get-utility (LM:acdoc)) 'getobjectidstring) (list 'vla-getobjectidstring (vla-get-utility (LM:acdoc)) 'obj ':vlax-false) '(LM:ename->objectid (vlax-vla-object->ename obj)) ) '(itoa (vla-get-objectid obj)) ) ) ) (LM bjectid obj) ) ;; Entity Name to ObjectID - Lee Mac ;; Returns the 32-bit or 64-bit ObjectID for a supplied entity name (defun LM:ename->objectid ( ent ) (LM:hex->decstr (setq ent (vl-string-right-trim ">" (vl-prin1-to-string ent)) ent (substr ent (+ (vl-string-position 58 ent) 3)) ) ) ) ;; Hex to Decimal String - Lee Mac ;; Returns the decimal representation of a supplied hexadecimal string (defun LM:hex->decstr ( hex / foo bar ) (defun foo ( lst rtn ) (if lst (foo (cdr lst) (bar (- (car lst) (if (< 57 (car lst)) 55 48)) rtn)) (apply 'strcat (mapcar 'itoa (reverse rtn))) ) ) (defun bar ( int lst ) (if lst (if (or (< 0 (setq int (+ (* 16 (car lst)) int))) (cdr lst)) (cons (rem int 10) (bar (/ int 10) (cdr lst))) ) (bar int '(0)) ) ) (foo (vl-string->list (strcase hex)) nil) ) ;; Start Undo - Lee Mac ;; Opens an Undo Group. (defun LM:startundo ( doc ) (LM:endundo doc) (vla-startundomark doc) ) ;; End Undo - Lee Mac ;; Closes an Undo Group. (defun LM:endundo ( doc ) (while (= 8 (logand 8 (getvar 'undoctl))) (vla-endundomark doc) ) ) ;; Active Document - Lee Mac ;; Returns the VLA Active Document Object (defun LM:acdoc nil (eval (list 'defun 'LM:acdoc 'nil (vla-get-activedocument (vlax-get-acad-object)))) (LM:acdoc) ) ;;----------------------------------------------------------------------;; (vl-load-com) (princ (strcat "\n:: Areas2Attribute.lsp | Version 1.2 | \\U+00A9 Lee Mac " (menucmd "m=$(edtime,0,yyyy)") " www.lee-mac.com ::" "\n:: Type \"A2A\" to Invoke ::" ) ) (princ) ;;----------------------------------------------------------------------;; ;; End of File ;; ;;----------------------------------------------------------------------;; hmm ... blöd gelaufen ... nach dem editieren sind die smileys wieder aktiv?
[Diese Nachricht wurde von fmfm am 11. Sep. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedelzastrow Mitglied Architekt / Bauzeichner
Beiträge: 993 Registriert: 05.07.2007 Win XP AutoCAD 2006 AutoCAD 2009 AutoCAD 2013 LT
|
erstellt am: 11. Sep. 2017 10:57 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
|
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 11. Sep. 2017 11:03 <-- editieren / zitieren --> Unities abgeben:
|
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 19. Sep. 2017 10:53 <-- editieren / zitieren --> Unities abgeben:
Hallo Robert Zitat: auf der Seite von Lee Mac, steht genau für diesen Fall eine Schritt für Schritt Anleitung.
Ich bin erst gestern dazu gekommen es auszuprobieren. Vielen Dank für den Hinweis. Es hat alles so funktioniert wie ich es haben wollte!!!
Danke gruss fmfm Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |