| |
 | 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: Schraffur Umgrenzungs-Objekte (1798 mal gelesen)
|
c.schojer Mitglied
 
 Beiträge: 299 Registriert: 23.05.2007 Autocad 2018
|
erstellt am: 04. Dez. 2007 17:22 <-- editieren / zitieren --> Unities abgeben:         
Hallo nochmals an alle VBA-ler Gibts ne Möglichkeiten die Objekte von Schraffuren deren Umgrenzung mit Objekten definiert wurde zu bekommen? Hab in der Hilfe nur die Aazahl der Umgrenzungen gefunden. Mfg CHris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 04. Dez. 2007 17:54 <-- editieren / zitieren --> Unities abgeben:          Nur für c.schojer
|
autogis Mitglied Dr.-Ing. E-Technik
 
 Beiträge: 185 Registriert: 09.02.2001
|
erstellt am: 13. Mrz. 2008 15:08 <-- editieren / zitieren --> Unities abgeben:          Nur für c.schojer
|
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 13. Mrz. 2008 18:28 <-- editieren / zitieren --> Unities abgeben:          Nur für c.schojer
Hallo Peter, hab' noch nie damit probiert. Ich glaube wenn die Schruffur nicht assoziativ ist, kennt AutoCAD auch nichts mehr vom Ursprungsobjekt. Das könnte ja im Zweifelsfall auch schon gelöscht sein. Wilfried Stelberg ------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
c.schojer Mitglied
 
 Beiträge: 299 Registriert: 23.05.2007 Autocad 2018
|
erstellt am: 14. Mrz. 2008 07:00 <-- editieren / zitieren --> Unities abgeben:         
|
autogis Mitglied Dr.-Ing. E-Technik
 
 Beiträge: 185 Registriert: 09.02.2001
|
erstellt am: 14. Mrz. 2008 10:30 <-- editieren / zitieren --> Unities abgeben:          Nur für c.schojer
Doch, möglich müßte es sein, denn mit Lisp geht sowas. Leider hab ich absolut keine Ahnung von AutoLISP und kann mich mangels der nötigen Zeit auch nicht reinarbeiten. Über eine Suchmaschine hab ich folgenden Link gefunden. http://www.jtbworld.com/lisp/hatchb.htm Hab das Prog an einem Beispiel ausprobiert und sowohl äußere, als auch innere Grenzen wieder herstellen können. Nur verstehe ich vom Qelltext leider bloß Bahnhof. Und darum zu bitten, dass sich hier jemand opfert und VBA Code draus macht, der mir die Koordinaten zurück gibt wäre wohl vermessen, oder? Abervielleicht ist Chris ja wenigstens mit dem Link ein wenig geholfen. Sonnige Grüße aus dem momentan trüben Leipzig - Peter [Diese Nachricht wurde von autogis am 14. Mrz. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
c.schojer Mitglied
 
 Beiträge: 299 Registriert: 23.05.2007 Autocad 2018
|
erstellt am: 02. Sep. 2008 09:44 <-- editieren / zitieren --> Unities abgeben:         
Hallo An alle! Eine Frage/Bitte kann Jemand von Euch das obige Programm so modifizieren daß die Umgrenzungsobjekte als SSet abgelegt werden? Und als Eingabeobjekt ein Sset genommen wird der in VBA definiert wurde? Habe leider viel zuwenig Kenntnis von Lisp. Wäre echt Klasse wenn das Ginge Mfg Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten

 Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - ACA 2013 Arcibem System: Windows NT, 2000, XP Internet-Startseite: http://www.archi.de
|
erstellt am: 02. Sep. 2008 10:44 <-- editieren / zitieren --> Unities abgeben:          Nur für c.schojer
Hallo Chris, warum benutzt du nicht einfach den Befehl _-hatchedit zum Erzeugen der Umgrenzungsobjekte: Code: Sub GetHatchBoundery()Dim ent As AcadEntity Dim cmd As String Dim p As AcadPoint ThisDrawing.Utility.GetEntity ent, p, "Schraffur wählen:" cmd = "(command ""_-hatchedit"" (handent """ & ent.Handle & """) ""_B"" ""_P"" ""_Y"")" & vbCr ThisDrawing.SendCommand (cmd) End Sub
(Quelle) Anschliessend brauchst Du nur noch die neu erstellten Objekte zusammenzusammeln.Grüsse, Henning ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
c.schojer Mitglied
 
 Beiträge: 299 Registriert: 23.05.2007 Autocad 2018
|
erstellt am: 02. Sep. 2008 16:07 <-- editieren / zitieren --> Unities abgeben:         
Weil Hatchedit in manchen Fällen leider nicht geht dann bekommt man statt ner Polylinie nur Linien! Und sendcommand-Befehle funktionieren meist nur in einer Autocad Version. Deshalb wollte ich eine VBA Funktion schreiben. Aber trotzdem nettes kleines Tool für Autocad 2008 funktionierts aber wie gesagt leider nicht immer!(Als Polylinie) Mfg Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten

 Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - ACA 2013 Arcibem System: Windows NT, 2000, XP Internet-Startseite: http://www.archi.de
|
erstellt am: 02. Sep. 2008 16:25 <-- editieren / zitieren --> Unities abgeben:          Nur für c.schojer
na, man könnte ja die erstellten und zusammengesammelten Linien noch mit einem "Pedit" zu Polylinien zusammenfügen (was anderes macht hatchb.lsp auch nicht): Zitat: (if (= (getvar "peditaccept") 1) (command "_.pedit" (entlast) "_J" ss "" "") (command "_.pedit" (entlast) "_Y" "_J" ss "" "") )
Und sooo kritisch ist ein command-Aufruf in der Regel nicht. Zur Not könntest Du ja die Version noch abfragen und verschiedene Commandstrings zusammensetzen. Grüsse, Henning ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
c.schojer Mitglied
 
 Beiträge: 299 Registriert: 23.05.2007 Autocad 2018
|
erstellt am: 02. Sep. 2008 17:02 <-- editieren / zitieren --> Unities abgeben:         
|
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten

 Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - ACA 2013 Arcibem System: Windows NT, 2000, XP Internet-Startseite: http://www.archi.de
|
erstellt am: 04. Sep. 2008 09:31 <-- editieren / zitieren --> Unities abgeben:          Nur für c.schojer
also: Du merkst Dir VOR dem Erstellen der Umgrenzungen die Anzahl der Zeichnungselemente (ThisDrawing.ModelSpace.Count), erstellst die Umgrenzungen (ThisDrawing.SendCommand...), und suchst dann alle Elemente, die hinzugekommen sind (For i = lg To ThisDrawing.ModelSpace.Count - 1...) und fügst sie einem neuen Auswahlsatz hinzu (z.B. mit .additems). Grüsse, Henning ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |