| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Polygonefläche in Attribute auslesen (9007 mal gelesen)
|
Infraserv2004 Mitglied Architekt
Beiträge: 2 Registriert: 04.10.2004
|
erstellt am: 04. Okt. 2004 12:34 <-- editieren / zitieren --> Unities abgeben:
Hi, folgende Frage: Ist es möglich, bzw. gibt es ein Programm (od. Routine) mit der Polygoneflächen in Attribute ausgelesen werden können. Flächengröße als Info in ein Attribut - Z.Bsp. in ein Raumblock Danke MfG O.Heinrich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4184 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 04. Okt. 2004 12:59 <-- editieren / zitieren --> Unities abgeben: Nur für Infraserv2004
Hallo O. Heinrich, folgende Lisp-Zeilen tragen die Fläche des gepickten Polygonzuges in ein danach zu wählendes Attribut ein. Code:
(defun c:fl_att (/ pl att fl) (setq pl (car(entsel "\nPolygon wählen: ")) att (car(nentsel "\nZielattribut wählen: ")) fl (vlax-get-property (vlax-ename->vla-object pl) 'Area) ) (entmod (subst (cons 1 (rtos fl 2 2)) (assoc 1 (entget att)) (entget att) ) ) (entupd (cdr(assoc 330 (entget att)))) (princ) )
Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3329 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 04. Okt. 2004 13:03 <-- editieren / zitieren --> Unities abgeben: Nur für Infraserv2004
|
tomturbos Mitglied architektur
Beiträge: 149 Registriert: 28.03.2003 windows xp windows 7 autocad/adt 2004 architecture 2010
|
erstellt am: 12. Okt. 2004 13:16 <-- editieren / zitieren --> Unities abgeben: Nur für Infraserv2004
Hallo, @Holger gibt es auch eine Möglichkeit, dass wenn sich die Polylinie verändert (=Fläche verändert) sich das Blockattribut/Anzeige auch automatisch mitändert? Ganz unverschämt frage ich auch noch ob denn nicht noch der Umfang auch möglich wäre, Einheiten hinzufügen etc. - oder ist das dann schon eine fertige Architekturapplikation thx tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4184 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 15. Okt. 2004 08:39 <-- editieren / zitieren --> Unities abgeben: Nur für Infraserv2004
Hallo Tom, ja die Möglichkeit gibt es. Allerdings ist das nicht so einfach zu handhaben. Da dann auch Abzugsflächen zu berücksichtigen sind usw. Die Vorstellungen erinnern mich sehr an den ADT. Den solltest du dir mal anschauen. Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomturbos Mitglied architektur
Beiträge: 149 Registriert: 28.03.2003 windows xp windows 7 autocad/adt 2004 architecture 2010
|
erstellt am: 15. Okt. 2004 09:36 <-- editieren / zitieren --> Unities abgeben: Nur für Infraserv2004
ja das mit dem adt ist ein guter tip. haben wir auch schon getestet - ist ein sehr mächtiges tool. und kann auch alles, aber oft sehr kompliziert. dh. es erfordert für sehr einfache dinge einen hohen schulungsaufwand. aber ich denke darüber wurde hier im forum schon genug philosophiert. haben für die raumblöcke auch ein zusatztool im einsatz. ich dachte nun, dass das auch mit boardmitteln zu bewältigen wäre, was die fehleranfälligkeit bzgl. neue acadversion aber drittapplikation zieht nicht nach oder ähnliches doch reduzieren würde - frei nach der devise "keep it as simple as possible" trotzdem danke tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matgehrke Mitglied Landschaftsarchitekt
Beiträge: 651 Registriert: 31.08.2003 - ACAD 2015
|
erstellt am: 15. Okt. 2004 09:37 <-- editieren / zitieren --> Unities abgeben: Nur für Infraserv2004
hallo tom. sicherlich kann einiges mit attributen und lisp gelöst werden. es gibt aber apis, die genau für dieses problem erstellt wurden, aber leider viel zu wenig bekannt sind. mein tipp: landxpert objects (www.landxpert.de) => läuft 15 tage als volle demo einige wichtige featutres: - nur ein befehl in autocad - so einfach zu bediehen wie ein windows explorer - ermittlung aller objekteingenschaften (anzahl, umfang/strecke, fläche, volumen) - freie defnition von berechnungsformeln - umgang mit abzugsflächen - erfassung von konturen bei nicht geschlossenen objekten - assoziative beschriftung mit textlabeln (inkl. führungslinie) - zuweisung von grafikeigenschaften nach themen (z.b. schraffuren) - automatische erstellung einer legende - ausgabe nach excel ... usw probier es doch einfach mal aus. gruß matgehrke ------------------ ... blue sky and happy landing matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Infraserv2004 Mitglied Architekt
Beiträge: 2 Registriert: 04.10.2004
|
erstellt am: 15. Okt. 2004 10:35 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich weiß es gibt viele Tools die käuflich erworben werden können, aber wer sich ernsthaft mit Applikationen auseinandersetzt wird in der täglichen Arbeit auf das wesentliche zurückkommmen - Autocad pur. Zeichnen klassisch mit EDV. Der Hacken, ein paar Dinge gibts die hätte man als Anwender doch dann automatisiert. Zum Beispiel das Flächenauslesen in ein Attribut. Ich will weder berechnungsformeln noch Abzugsflächen, das löse ich dann auch in Excel. Nein, ich will nur eine Fläche in ein Attribut und auch vielleicht die oben angesprochene Funktion global die Flächen neu berechnen zu lassen. Beispiel man hat viele Flächen - Polygone und in diesen dann Attribute die die Fläche auslesen. Man strckt zwei aneinander liegende Räume, einer wird größer, der andere kleiner - daraus ergeben sich neue Flächen. Jetzt müßte man nur mit einer Funktion "refresh" die Attribute auf die neuen Flächendimensionen updaten. Kein mächtiges Tool, keine riesige Anwendung nur ein paar kleine Bordmittel - dies beziehe ich auch auf andere Funktionen im "puren" Autocad (Bemassung) LG Oliver Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomturbos Mitglied architektur
Beiträge: 149 Registriert: 28.03.2003 windows xp windows 7 autocad/adt 2004 architecture 2010
|
erstellt am: 15. Okt. 2004 18:00 <-- editieren / zitieren --> Unities abgeben: Nur für Infraserv2004
genau - so einfach wie möglich. wenn man mal ins adt forum schaut wie oft dort die flächen und insbesondere ein benutzerdefinierter raumstempel ein thema sind, kann ich nur sagen mich wundert das nicht. mit dem adt können vielleicht einzelne spezialisten zeichnen, aber wehe,wehe wenn mal 5, 10 oder mehr an einem projekt arbeiten sollen. (und da rede ich noch nicht von 3d ) gruß tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4184 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 15. Okt. 2004 19:55 <-- editieren / zitieren --> Unities abgeben: Nur für Infraserv2004
Zitat: Original erstellt von tomturbos: genau - so einfach wie möglich. wenn man mal ins adt forum schaut wie oft dort die flächen und insbesondere ein benutzerdefinierter raumstempel ein thema sind, kann ich nur sagen mich wundert das nicht. mit dem adt können vielleicht einzelne spezialisten zeichnen, aber wehe,wehe wenn mal 5, 10 oder mehr an einem projekt arbeiten sollen. (und da rede ich noch nicht von 3d )gruß tom
Hallo Tom, da bin ich aber absolut gegenteiliger Meinung. Der ADT kann hervorragend in alle Richtungen, ohne Programmierkenntnisse!, auf die persönlichen Bedürfnisse angepasst werden. Klar, man muss sich eben mit den Möglichkeiten auseinander setzen, und das Objekt orientierte Zeichnen erst lernen und verstehen. Gerade der ADT, und das wissen die Wenigsten, schafft einen sehr großen Effektivitätsvorsprung genenüber dem Zeichnen von Hand. Ein Beispiel: Wände zeichnen AutoCAD - Layer für die zu zeichnenden Wände einschalten - Linien zeichnen - Layer für die entsprechende Wandschraffuren einschalten - schraffieren - Layereinstellungen im Layout für die Darstellung der Wand im entsprechenden Maßstab erstellen. - selbiges für die 100 Wände des Bauwerks wiederholen. ADT - automatische Flächenerkennung und Raumst - Wandstiel erstellen, mit entsprechender Layerzuordnung und Darstellungseigenschaften in den verschiedenen Maßstäben <-einmalig - Wand zeichnen - gewünschte Darstellung einschalten - selbiges für die 100 Wände dieser und der zukünftig zu erstellenden Wände anderer Projekte wiederholen. Anmerkung Noch ungünstiger für die Nutzung des reinen AutoCAD fällt in meinen Augen die Betrachtung aus, wenn man nun versucht eine weitere Wand anschließen zu lassen, und/oder diese Wand zu ändern. noch ein BeispielFlächen AutoCAD - Layer für Flächenpolygone erstellen, aktuell setzen - geschlossenes Polygon erstellen - Fläche abfragen - Polygone der Abzugsflächen erstellen - Flächen der Abzugspolygone abfragen - Raumfläche berechnen - Layer für Raumstempelblock erstellen, aktuell setzen - Raumstempelblock einfügen - Raumstempel vollständig ausfüllen - wiederholen für alle 100 Räume des Bauwerks - Flächen auslesen ab hier arbeiten in einem Fremdprogramm z.B. Excel - Flächen entsprechend der Nutzungsart sortieren - Flächenstatistik (HNF,NNF, VF, ...) erstellen - Raumbuch erstellen Layouten - bei Änderungen gehe direkt ins Gefängnis, begib dich direkt dorthin, usw ;-) - Keine Lösung für die Darstellung der Raumstempel und Flächenschraffuren in den verschiedenen Darstellungen in Abhängigkeit des Maßstabs - alles für die 100 Projekte wiederholen ADT ->einmalig - Flächenstile erstellen - Flächengruppenstile erstellen - Raumstempel erstellen - Tabellenstil für Flächenauswertung für jede Form der Auswertung erstellen <-einmalig - automatisch Flächen zuweisen/erkennen - Flächengruppe und Raumname der Fläche zuweisen - für alle 100 Räume wiederholen - Flächenstatistik einfügen - Raumbuch einfügen - Auswertungen nach Excel direkt exportieren - Bei Änderungen Auswertungen wiederholt nach Excel exportieren - Darstellung entsprechend umschalten Anmerkung Bei der AutoCAD Variante sind Fehler vorprogrammiert, da an zu vielen Ecken und Kanten verdammt dolle aufgepasst werden muss. Gerda bei Änderungen! Zusammenfassung (aus meiner Sicht) Möchte man effizient und schneller Planen, dann hat der ADT einen verdammt großen Effektivitätsvorsprung - auch/gerade beim Zeichnen im 2D. Wenn ich in den Vergleich die Bemaßung noch mit einbezogen hätte, dann wäre die Betrachtung noch schlechter für AutoCAD ausgefallen. Klar sollte aber auch sein, dass man beim ADT um eine Schulung nicht herum kommt. Diese ist auch nicht in 2 Tagen erledigt, dazu ist das Programm einfach zu komplex. Klar ist auch, dass man nicht direkt nach der Installation loszeichnen kann. Für die Einführung und Vorbereitung muss man sich wenigstens ein viertel Jahr Zeit nehmen, um die ganzen Stile zu erstellen. Aber sind diese einmaligen Tätigkeiten geschehen, dann geht das Zeichnen super schnell. Logisch, auch der ADT hat seine Macken und Grenzen, und für manche Dinge muss man Hockstrecksprünge machen, um die überhaupt hinzubekommen, aber mal ehrlich, ist das im AutoCAD nicht auch so, nur man hat sich daran schon gewöhnt?
Empfehlung Mit der obigen Zusammenfassung werden die Fragen danach, wie sich ein Architekturbüro die Einführung leisten können soll, aufkommen. Auch die möchte ich beantworten. Das kann sich ein Architekturbüro nicht leisten. Dieses einmalig zu nutzende Know How sich anzueignen ist zu teuer. Schneller, und darum auch kostengünstiger geht das, wenn man sich für diese Sachen einen Profi zeitweilig ins Haus holt. Vor dem Hintergrund einer Investition in die Zukunft ist es zunächst mit Kosten verbunden, die sich aber verdamt schnell rechnen. Meine Meinung. Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
C4DP4P57 Mitglied Technischer Zeichner
Beiträge: 152 Registriert: 06.05.2009 Win 10 Windows 10 Enterprise 64Bit Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 32 GB RAM NVIDIA Quadro P1000 AutoCAD 2019.1.2 64Bit
|
erstellt am: 17. Apr. 2014 11:12 <-- editieren / zitieren --> Unities abgeben: Nur für Infraserv2004
Zitat: Original erstellt von Brischke: (defun c:fl_att (/ pl att fl) (setq pl (car(entsel "\nPolygon wählen: ")) att (car(nentsel "\nZielattribut wählen: ")) fl (vlax-get-property (vlax-ename->vla-object pl) 'Area) ) (entmod (subst (cons 1 (rtos fl 2 2)) (assoc 1 (entget att)) (entget att) ) ) (entupd (cdr(assoc 330 (entget att)))) (princ) )
Sorry das ich es nochmal aufwärme... Hallo Holger, der Code ist für meine Zwecke sehr hilfreich, nur hätte ich gerne "m²" als Suffix hinter die Fläche, dass es z.B. so 35.14 m² (mit Freizeichen zwischen Fläche und m²) aussieht. Wie bekomme ich das hin? Geht das? Leider bin ich der LISP Programmierung nicht sehr mächtig :-( Vielen Dank im Vorraus und frohe Ostern ;-) Gruß Jörg ------------------ Wer immer tut, was er schon kann, bleibt immer das, was er schon ist. Menschen mit einer neuen Idee gelten so lange als Spinner, bis sich die Sache durchgesetzt hat. Das schöne an AutoCAD ist ja, dass einem jede Möglichkeit bietet damit zu machen was man will und wie man es will. Was jeder unglücklicherweise auch tut ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21652 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 17. Apr. 2014 11:20 <-- editieren / zitieren --> Unities abgeben: Nur für Infraserv2004
|
C4DP4P57 Mitglied Technischer Zeichner
Beiträge: 152 Registriert: 06.05.2009 Win 10 Windows 10 Enterprise 64Bit Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 32 GB RAM NVIDIA Quadro P1000 AutoCAD 2019.1.2 64Bit
|
erstellt am: 17. Apr. 2014 11:49 <-- editieren / zitieren --> Unities abgeben: Nur für Infraserv2004
Zitat: Original erstellt von cadffm: Sorry, aber heute nutzt man dafür die verlinkte "intelligente" Variante über SCHRIFTFELDer ! Da ist das Polygonobjekt direkt mit dem Textwert verknüpft -> ändert sich die Polygoneigenschaft, ändert sich der Textwert.Befehl: SCHRIFTFELD Oder wer etwas basteln will, dafür aber auch ein ordentliches Handling davon hat: Kleines Lispprogramm selbst anpassen. http://ww3.cad.de/foren/ubb/Forum145/HTML/002041.shtml
Ja, sollte halt einfach sein (Polylinie anklicken, Attribute anklicken, fertig) und wie immer, am besten nix kosten. Bei 300 Stempeln immer den Dialog Schriftfeld durch machen, wäre ne echte Fleißarbeit, aber wenn sich das auch einfach als Schriftfeld einfügen lässt, umso besser . Vielen Dank für den Link, denke der hilft mir sehr weiter. ------------------ Wer immer tut, was er schon kann, bleibt immer das, was er schon ist. Menschen mit einer neuen Idee gelten so lange als Spinner, bis sich die Sache durchgesetzt hat. Das schöne an AutoCAD ist ja, dass einem jede Möglichkeit bietet damit zu machen was man will und wie man es will. Was jeder unglücklicherweise auch tut ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1144 Registriert: 20.12.2002 Autocad 2020/64B Win10 WORKSTATION Intel(R) CPU E5-1620 3.60GHz 16,0GB Ram 64 Bit-Betriebssystem HP Designjet T7200 Grafik NVIDIA Quadro P4000 ZWCAD2019
|
erstellt am: 17. Apr. 2014 21:02 <-- editieren / zitieren --> Unities abgeben: Nur für Infraserv2004
|
Guenther P Mitglied Techniker
Beiträge: 1133 Registriert: 14.05.2010 AutoCAD 11 --> --> AutoCAD Civil 3D 2019.1 Update 64bit --> Autodesk InfraWorks 360 Autodesk Infrastructure Design Suite Premium 2019 64bit OoC, HMap Windows 7 x64 Enterprise SP1 Lenovo ThinkCentre M800 MT Intel Core i7-4770 @3.40GHz 3.40 GHz 32,0 GB RAM NVIDIA Quadro K2000D 2*24" HP EliteBook Revolve 810
|
erstellt am: 18. Apr. 2014 09:33 <-- editieren / zitieren --> Unities abgeben: Nur für Infraserv2004
Zitat: Original erstellt von C4DP4P57:
Ja, sollte halt einfach sein (Polylinie anklicken, Attribute anklicken, fertig) u
Es gibt auch Applikationen für den Bereich Facility Management oder auch in der Raumplanung. Bei beiden wird dein Thema abgehandelt. Infos und Link von unserer Applikation gern per PM ------------------ - gü - ...then it comes to be that the soothing light at the end of your tunnel was just a freight train coming your way... (James Hetfield) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WNJT Mitglied
Beiträge: 4 Registriert: 12.04.2023 AutoCad 2020
|
erstellt am: 23. Mai. 2023 09:47 <-- editieren / zitieren --> Unities abgeben: Nur für Infraserv2004
Hallo Zusammen, ich habe versucht den befehl etwas zu automatisieren. den esten Schritt habe ich geschafft, hier wird die zuletzt erstellte (bei mir) Region ausgewählt. Dann muss man nur noch das Attribut anwählen. Gibt es hier auch eine möglichkeit das mit einer ssget Auswahl zu automatisieren? In meinem Beispiel, gibt es einen Block mit dem Namen Berechnung und darin unter anderem das Attribut Fläche. In dieses der zuvor ermittelte Wert geschrieben werden soll. hier mal mein Stand. (defun c:FLA8 (/ ss i ent pl att fl) (setq pl (if (setq ss (ssget "_X" '((0 . "*REGION") (-4 . "<AND") (-4 . "&=") (70 . 1) (-4 . "AND>")))) (repeat (setq i (sslength ss)) (setq ent (ssname ss (setq i (1- i)))) ) ) att (car(nentsel "\nAttri_Fläche wählen: ")) fl (/ (vlax-get-property (vlax-ename->vla-object pl) 'Area) 1000000) ) (entmod (subst (cons 1 (rtos fl 2 2)) (assoc 1 (entget att)) (entget att) ) ) (entupd (cdr(assoc 330 (entget att))));** <- gefaehrlich (princ) ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |