| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
|
Autor
|
Thema: Objekte beschriften (2189 mal gelesen)
|
9TomCat Mitglied Bauingenieur
 
 Beiträge: 220 Registriert: 11.08.2005
|
erstellt am: 17. Mrz. 2010 11:52 <-- editieren / zitieren --> Unities abgeben:         
Hallo liebe Community, ich habe mir ein Programm gebastelt, welches von gewählten Objekten (z.B. geschlossenen Polylinien) die Flächen ermittelt und in eine Datei ausgibt. Soweit so gut, nun würde ich gern noch ein Routine implementieren, welche die Ermittelte Fläche jeweils in das Objekt schreibt. Ich hab eaber keine Eigenschaft, wie z.B. den Schwerpunkt einer Fläche, welche ich dafür verwenden kann. Oder gibt es da was? Bin für alle Hinweise dankbar. Schönen Tag 9TomCat Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 17. Mrz. 2010 12:03 <-- editieren / zitieren -->
Hi, ohne es probiert zu haben, hast Du eine Polylinie, dann kannst Du eine Region machen. Hast Du dann die Region, dann gibt Dir diese Region das Property .Centroid zurück. Vorsicht aber doch: das ist der Schwerpunkt der Fläche, hast Du z.B. die Outline des Buchstabens 'U' gezeichnet, dann liegt der resultierende Punkt NICHT in der Fläche, aber für eine Beschriftungsposition ist das mal (wenn nicht GIS-technisch damit weiterzuarbeiten ist) an ansprechender Anfangspunkt. HTH, - alfred - ------------------ www.hollaus.at |
9TomCat Mitglied Bauingenieur
 
 Beiträge: 220 Registriert: 11.08.2005
|
erstellt am: 17. Mrz. 2010 15:59 <-- editieren / zitieren --> Unities abgeben:         
Hallo Alfred, vielen Dank, dass mit der Umwandlung in Regionen hatte ich mir auch schon gedacht, na ja, bin noch nicht so ganz firm mit den AutoCad-VBA-Objekten, also mal sehen. Ich hätte gedacht, da gibt’s was für den Schwerpunkt. Viele Grüße 9TomCat Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
   
 Beiträge: 1360 Registriert: 24.07.2002 AutoCAD ACA 2024 Solidworks 2022 Sp5 Enterprise PDM 2022 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell Precision 3660 Intel Core i9-12900K 32 GB Arbeitsspeicher 2x Dell U2415
|
erstellt am: 17. Mrz. 2010 16:17 <-- editieren / zitieren --> Unities abgeben:          Nur für 9TomCat
|
9TomCat Mitglied Bauingenieur
 
 Beiträge: 220 Registriert: 11.08.2005
|
erstellt am: 18. Mrz. 2010 07:59 <-- editieren / zitieren --> Unities abgeben:         
Hallo Carsten1210, guter Vorschlag, das mit der GetBoundingBox, funktioniert gut. Allerdings ist der Fall den Alfred beschrieben hat nicht abgedeckt, aber das hätte ich ja mit dem Schwerpunkt auch nicht. Vielen Dank und schönen Tag noch 9TomCat Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 18. Mrz. 2010 08:15 <-- editieren / zitieren -->
Hi, Vorschlag mit Ansatz zur Prozessorbeschäftigungstheraphie: a) Du machst BoundingBox, dann eine Linie vom linken unteren Punkt zu rechtem oberen Punkt. b) Holst Dir die Schnittpunkte dieser Linie mit Deinem Objekt. c) Teilst diese in Segmente zwischen den Schnittpunkten d) suchst Dir das Segment mit der größten Länge heraus (das innerhalb liegt, beginnend mit jedem ungeraden Schnittpunkt) e) dort (auf dem Segmentmittelpunkt) setzt Du Deinen Beschriftungspunkt Hilfreiche Voraussetzung für Punkt c+d, Deine Linienpunkte legst Du ausserhalb der Boundingbox oder Du stellst per Prüfung fest, ob der linke/untere Punkt und/oder rechte obere Punkt der Boundingbox auf Deiner Geometrie liegt. Verständlich? HTH, - alfred - ------------------ www.hollaus.at [Diese Nachricht wurde von a.n. am 18. Mrz. 2010 editiert.] |
9TomCat Mitglied Bauingenieur
 
 Beiträge: 220 Registriert: 11.08.2005
|
erstellt am: 18. Mrz. 2010 08:32 <-- editieren / zitieren --> Unities abgeben:         
Hallo Alfred, ist ja Klasse und verständlich auch. Allerdings bin ich nicht hauptberuflich in der Programmierung zu Hause. Aber trotzdem, vielleicht verfolge ich diesen Ansatz ja mal weiter. Mich wundert, dass diese Funktion noch keiner gebraucht hat (Polylinien als Flächen erstellen und später einfach zur Mengenermittlung auswerten, na ja, dann vielleicht die Menge noch jeweils reinschreiben). Vielen Dank und Dir auch einen schönen Tag 9TomCat Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 18. Mrz. 2010 08:39 <-- editieren / zitieren -->
Hi, in Map (und damit auch in Civil) gibt es schon eine Funktion _MAPCREATECENTROIDS, diese hat aber 2 Nachteile: a) geht nur über SendCommand b) Inselelemente werden nicht erkannt - alfred - ------------------ www.hollaus.at |
runkelruebe Ehrenmitglied V.I.P. h.c. Straßen- / Tiefbau

 Beiträge: 8086 Registriert: 09.03.2006 sw: Win7-x64 Office 365 ProPlus C3D (& LT ) ET; DACH; Extensions ------------------- hw: FX3800 i5 CPU 670 8GB RAM
|
erstellt am: 18. Mrz. 2010 08:46 <-- editieren / zitieren --> Unities abgeben:          Nur für 9TomCat
Moin, >> Mich wundert, dass diese Funktion noch keiner gebraucht hat (Polylinien als Flächen erstellen und später einfach zur Mengenermittlung auswerten, na ja, dann vielleicht die Menge noch jeweils reinschreiben). Naja mit Sicherheit hat diese Funktion schon jmd. gebraucht. Ich mach Mengenermittlungen meist mit Datenextraktionen oder tools wie hatchfl und die Flächenbeschriftung mit Schriftfeldern, die kann man kopieren und Objekte neu zuweisen z.B. mit DT-RELINKFIELDPL (tool 52) oder man klickert sich einzeln durch mit ner Routine von tunnelbauer... Es gibt also für alles schon Lösungen, aber Du möchtest ja gern VBA und selber machen. Find ich gut, die eigenen Räder drehen immer noch am schönsten  ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info | Dateianhänge | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
9TomCat Mitglied Bauingenieur
 
 Beiträge: 220 Registriert: 11.08.2005
|
erstellt am: 18. Mrz. 2010 09:19 <-- editieren / zitieren --> Unities abgeben:         
|