Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Fläche von Hatch/Solid

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   Fläche von Hatch/Solid (2803 mal gelesen)
Geos
Mitglied
Vermessungstechniker i.R.


Sehen Sie sich das Profil von Geos an!   Senden Sie eine Private Message an Geos  Schreiben Sie einen Gästebucheintrag für Geos

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 30. Okt. 2008 11:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo

Kennt jemand eine (vla-?) Funktion, die die Fläche von HATCHes bzw SOLIDs liefert.

(Zusatzfrage an die Wissenden: Woher habt Ihr Eure Infos über (vla-...) - es gibt ja anscheinend keine Unterlagen  )

------------------
Schöne Grüße
Ernst

www.geopaint.at

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13435
Registriert: 30.11.2003

.

erstellt am: 30. Okt. 2008 11:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Geos 10 Unities + Antwort hilfreich

(vla-get-area ...

Im VLIDE mal F1 drücken ..ActiveX und VBA-Referenz wählen.. Objectmodel  .. da werden zu jedem Object die verfügbaren Methoden und Properties aufgelistet

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


Sehen Sie sich das Profil von Dorfy an!   Senden Sie eine Private Message an Dorfy  Schreiben Sie einen Gästebucheintrag für Dorfy

Beiträge: 893
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 30. Okt. 2008 11:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Geos 10 Unities + Antwort hilfreich

(vlax-dump-object (vlax-ename->vla-object (car (entsel))) T)
--> Eigenschaften und Methoden

mfg heiko

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Geos
Mitglied
Vermessungstechniker i.R.


Sehen Sie sich das Profil von Geos an!   Senden Sie eine Private Message an Geos  Schreiben Sie einen Gästebucheintrag für Geos

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 30. Okt. 2008 11:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Grüß Euch

@heiko

Hab mal ein HATCH ausgewählt:

Code:
Befehl: (vlax-dump-object (vlax-ename->vla-object (car (entsel))) T)

Objekt wählen: ; IAcadHatch: AutoCAD Hatch-Schnittstelle (Schraffur)
; Eigenschaftswerte:
;  Application (RO) = #<VLA-OBJECT IAcadApplication 00b9d604>
;  AssociativeHatch = 0
;  Document (RO) = #<VLA-OBJECT IAcadDocument 05400520>
;  Elevation = 0.0
;  GradientAngle = 0.0
;  GradientCentered = -1
;  GradientColor1 = #<VLA-OBJECT IAcadAcCmColor 1adbd4a0>
;  GradientColor2 = #<VLA-OBJECT IAcadAcCmColor 1adb9540>
;  GradientName = "LINEAR"
;  Handle (RO) = "39002"
;  HasExtensionDictionary (RO) = 0
;  HatchObjectType = 0
;  HatchStyle = 0
;  Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 1adbe184>
;  ISOPenWidth = 100
;  Layer = "Abrechnung"
;  Linetype = "ByLayer"
;  LinetypeScale = 1.0
;  Lineweight = -1
;  Normal = (0.0 0.0 1.0)
;  NumberOfLoops (RO) = 7
;  ObjectID (RO) = 2102415440
;  ObjectName (RO) = "AcDbHatch"
;  OwnerID (RO) = 2112748808
;  PatternAngle = 0.0
;  PatternDouble = 0
;  PatternName (RO) = "_SOLID"
;  PatternScale = 1.0
;  PatternSpace = 1.0
;  PatternType (RO) = 1
;  PlotStyleName = "ByLayer"
;  TrueColor = #<VLA-OBJECT IAcadAcCmColor 1adbb5f0>
;  Visible = -1
; Unterstützte Methoden:
;  AppendInnerLoop (1)
;  AppendOuterLoop (1)
;  ArrayPolar (3)
;  ArrayRectangular (6)
;  Copy ()
;  Delete ()
;  Evaluate ()
;  GetBoundingBox (2)
;  GetExtensionDictionary ()
;  GetLoopAt (2)
;  GetXData (3)
;  Highlight (1)
;  InsertLoopAt (3)
;  IntersectWith (2)
;  Mirror (2)
;  Mirror3D (3)
;  Move (2)
;  Rotate (2)
;  Rotate3D (3)
;  ScaleEntity (2)
;  SetPattern (2)
;  SetXData (2)
;  TransformBy (1)
;  Update ()
T



Abgesehen davon, dass ich da keine Fläche sehe - wie könnte ich denn auf diese Werte zugreifen, etwa um (print) mit einem Wert zu füttern?

@Thomas

Ich nehme an
(vla-get-area (vlax-ename->vla-object (car (entsel))))

Code:
Befehl: (vla-get-area (vlax-ename->vla-object (car (entsel))))

Objekt wählen: 2564.15

Befehl: (vla-get-area (vlax-ename->vla-object (car (entsel))))

Objekt wählen: ; Fehler: ActiveX-Server gab folgenden Fehler zurück:
unbekannter Name: Area



bei LW-Poly gehts, bei HATCH - siehe oben ???

Das Objekt-Modell (oder besser, diese Seite) kenn ich - aber da lande ich ja dann bei VBA und nicht bei Lisp - oder hab ich was übersehen ?

------------------
Schöne Grüße
Ernst

www.geopaint.at

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


Sehen Sie sich das Profil von Dorfy an!   Senden Sie eine Private Message an Dorfy  Schreiben Sie einen Gästebucheintrag für Dorfy

Beiträge: 893
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 30. Okt. 2008 11:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Geos 10 Unities + Antwort hilfreich

mmh?????
hatch

Befehl: (vlax-dump-object (vlax-ename->vla-object (car (entsel))) T)

Objekt wählen: ; IAcadHatch: AutoCAD Hatch-Schnittstelle (Schraffur)
; Eigenschaftswerte:
;  Application (RO) = #<VLA-OBJECT IAcadApplication 00d098b4>
;  Area (RO) = 2488.95

???

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Geos
Mitglied
Vermessungstechniker i.R.


Sehen Sie sich das Profil von Geos an!   Senden Sie eine Private Message an Geos  Schreiben Sie einen Gästebucheintrag für Geos

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 30. Okt. 2008 11:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

vielleicht erst ab 2006, 2007, ...?

------------------
Schöne Grüße
Ernst

www.geopaint.at

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


Sehen Sie sich das Profil von Dorfy an!   Senden Sie eine Private Message an Dorfy  Schreiben Sie einen Gästebucheintrag für Dorfy

Beiträge: 893
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 30. Okt. 2008 12:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Geos 10 Unities + Antwort hilfreich

jepp
scheint an der Version zu liegen...
mfg heiko

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13435
Registriert: 30.11.2003

.

erstellt am: 30. Okt. 2008 12:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Geos 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Geos:
Das Objekt-Modell (oder besser, diese Seite) kenn ich - aber da lande ich ja dann bei VBA und nicht bei Lisp - oder hab ich was übersehen ?


Gibts da zwischen Lisp und VBA Unterschiede ??? Die Logik und die Namen und die Parameter sind doch dieselben ....

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 30. Okt. 2008 12:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi Ernst,

ja, ich glaube es geht erst seit 2007. [EDIT] ==> sorry, 2006!! [/EDIT]

Ich möchte nur kurz ergänzen, dass auch mit AutoCAD2009 die Flächenberechnung von Schraffuren Fehler hat, sprich in bestimmten Zuständen (elliptische Bögen und/oder Splines als Begrenzung) kann es vorkommen, dass keine Fläche berechnet werden kann. Das ist dann auch schon im Eigenschaftsfenster so, dass keine Fläche angezeigt wird.

Wieso ist das hier zu erwähnen: aus der Erfahrung, dass Programme, die darauf aufbauen, dass es die Flächeneigenschaft bei Schraffuren geben muss, eben abfliegen. Also Error-Handling einbauen vor Zugriff auf Flächeneigenschaft!!!

- alfred -

[Diese Nachricht wurde von a.n. am 30. Okt. 2008 editiert.]

Brischke
Moderator
CAD on demand GmbH




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4136
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 30. Okt. 2008 12:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Geos 10 Unities + Antwort hilfreich

Schraffur und Flächenermittlung .. Kurioses Verhalten wird hier beschrieben und auch Lösungen werden aufgezeigt.
Es hat nichts mit Acad-Versionen zu tun .. soviel steht fest.

Grüße Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Geos
Mitglied
Vermessungstechniker i.R.


Sehen Sie sich das Profil von Geos an!   Senden Sie eine Private Message an Geos  Schreiben Sie einen Gästebucheintrag für Geos

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 30. Okt. 2008 17:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo

@Alfred und Holger

Mir ist es nicht gelungen - weder mit obigen Funktionen, noch im Eigenschaftsfenster - eine Hatch-Fläche zu ermitteln. Hatte aber auch nicht genug Zeit, um ausführlich zu testen.
Sicher ist: den Hatches liegen nur LWPolys zugrunde, diese wiederum bestehen nur aus Geraden. Manche haben Inseln. Größenmäßig: max. 50m, aber Gauß-Krüger Koords.
Was das Programm betrifft - ich wollte dasjenige, welches die Schraffur erzeugt, erweitern - es sollte auch die Fläche ausdrucken.

@Thomas

Nun, für die Fläche - sagen wir (LW)POLYLINE - gibts jetzt:
(vla-get-area (vlax-ename->vla-object (car (entsel))))
oder - einige vl-Funktionen kenn ich auch schon 
(vlax-curve-getArea (vlax-ename->vla-object (car (entsel))))

Aber weder die eine, noch die andere Funktion finde ich im ObjectModel, geschweige denn die Syntax oder was ich wie übergeben muss bzw. was ich zurückbekomme.
Die 2. Funkt. findet sich in der Acad-Hilfe, aber woher hast Du beispielsweise, die Funkt. (vla-get-area ...) 

------------------
Schöne Grüße
Ernst

www.geopaint.at

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13435
Registriert: 30.11.2003

.

erstellt am: 30. Okt. 2008 19:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Geos 10 Unities + Antwort hilfreich

im Objectmodel in der Hilfe suche ich mir das Object ... Doppelklick ... Übersicht zum Objekt popt auf ... da findet man dann Properties wie LINETYPE .. die man mit (vla-get-LINETYPE VLA-OBJECT) abfragen kann .. Alternativ geht das mit
(vlax-get-property VLA-OBJECT "LINETYPE") oder (vlax-get-property VLA-OBJECT 'LINETYPE)

Methoden ruft man mit vla-METHODE  oder vlax-invoke-method auf


Ist immer das gleiche .... und wenn mans mal geschnallt hat echt pippi 

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wronzky
Ehrenmitglied V.I.P. h.c.
CAD-Dienstleistungen für Architekten



Sehen Sie sich das Profil von wronzky an!   Senden Sie eine Private Message an wronzky  Schreiben Sie einen Gästebucheintrag für wronzky

Beiträge: 2154
Registriert: 02.05.2005

CAD:
AutoCAD 2.6 bis 2014
ADT 2005 - 2014
Arcibem
System:
Windows 2000, XP, NO VISTA
Internet-Startseite:
http://www.archi.de

erstellt am: 30. Okt. 2008 21:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Geos 10 Unities + Antwort hilfreich

Hallo Ernst,
mal ein anderer Ansatz, wenn es mit der Schraffur nicht direkt geht:
Code:
(defun c:get-hat-area ( / return)
  (command "_.-hatchedit" (car (entsel)) "_b" "_r" "_n")
  (setq return (vla-get-area (vlax-ename->vla-object (entlast))))
  (entdel (entlast))
  return
)
- also die Schraffurumgrenzung als Region wiederherstellen und die Fläche abfragen. Das berücksichtigt dann auch die Löcher...
Bis 2006 runter geht's. Älter hab' ich z.Zt. nicht. Musst Du also selbst testen 

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

Geos
Mitglied
Vermessungstechniker i.R.


Sehen Sie sich das Profil von Geos an!   Senden Sie eine Private Message an Geos  Schreiben Sie einen Gästebucheintrag für Geos

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 31. Okt. 2008 18:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke Henning!
Bei 2005 gibts die Option "_recreate Boundary" bei "hatchedit" leider noch nicht. Aber ich werd ja hoffentlich mal 'ne neuere Version bekommen ...

Danke auch Dir, Thomas!
Aus Deinen Hinweisen leite ich mal folgendes ab:

Die Funktion (vlax-get-property VLA-OBJECT "xxx") liefert Objekteigenschaften.
Zu übergeben sind:
VLA-OBJECT  - bekommt man z.B. von der Funktion (vlax-ename->vla-object ... ), der wiederum ein ENAME, wie beispielsweise von (car (entsel)) oder (entlast) geliefert, zu übergeben ist.
"xxx" - steht für die gesuchte Eigenschaft, wobei die xxx durch die im ObjectModel, beim jeweiligen ENTITIE, vorgefundenen Zeichenketten (= Eigenschaften) zu ersetzen sind.

Die Funktion (vla-get-xxx VLA-OBJECT) liefert Objekteigenschaften.
Die xxx sind (wie oben) wieder durch die, im ObjectModel beim jeweiligen ENTITIE, vorgefundenen Zeichenketten (= Eigenschaften) zu ersetzen.
Zu übergeben ist:
VLA-OBJECT  - bekommt man z.B. von der Funktion (vlax-ename->vla-object ... ), der wiederum ein ENAME, wie beispielsweise von (car (entsel)) oder (entlast) geliefert, zu übergeben ist.

Wenn auch laienhaft, aber immerhin haben wir jetzt deutsche Beschreibungen für zwei vl-Funktionen. 

Umgekehrt scheints nicht so einfach ...

Code:
Befehl: (vlax-put-property (vlax-ename->vla-object #ename) "LAYER" "AB3AU")
nil

... das funkt ...

Code:
Befehl: (vlax-put-property (vlax-ename->vla-object #ename) "patternname" "ANSI37")
; Fehler: ActiveX-Server hat einen Fehler zurückgegeben: Typkonflikt


... das nicht ... naja, in der Hilfe stehts ja auch so:
(vlax-put-property vlaobj 'Color 1)

Code:
Befehl: (vlax-put-property (vlax-ename->vla-object #ename) 'patternname ANSI37)
; Fehler: ActiveX-Server hat einen Fehler zurückgegeben: Typkonflikt


... auch nicht ... aber ANSI37 is ja ein String

Code:
Befehl: (vlax-put-property (vlax-ename->vla-object #ename) 'patternname "ANSI37")
; Fehler: ActiveX-Server hat einen Fehler zurückgegeben: Typkonflikt


  ... nein - dann vielleicht ...
 
Code:
Befehl: (vla-put-patternname (vlax-ename->vla-object #ename) "ANSI37")
; Fehler: no function definition: VLA-PUT-PATTERNNAME


Der springende Punkt scheint:

Zitat:
...und wenn mans mal geschnallt hat  ...

Aber für heute lass ichs mal ... 

------------------
Schöne Grüße
Ernst

www.geopaint.at

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



Sehen Sie sich das Profil von CAD-Huebner an!   Senden Sie eine Private Message an CAD-Huebner  Schreiben Sie einen Gästebucheintrag für CAD-Huebner

Beiträge: 9554
Registriert: 01.12.2003

One AutoCAD 2.5 - 2020, Civil 3D, Win10

erstellt am: 31. Okt. 2008 19:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Geos 10 Unities + Antwort hilfreich

Es ist noch kein Meister vom Himmel gefallen 

Code:
Befehl: (vlax-dump-object (vlax-ename->vla-object (car (entsel))) 'T)
Objekt wählen: ; IAcadHatch: AutoCAD Hatch-Schnittstelle (Schraffur)
; Eigenschaftswerte:
...
;  PatternAngle = 0.0
;  PatternDouble = 0
;  PatternName (RO) = "SOLID"
;  PatternScale = 1.0
;  PatternSpace = 1.0
;  PatternType (RO) = 1
;  PlotStyleName = "ByLayer"
;  TrueColor = #<VLA-OBJECT IAcadAcCmColor 105eac50>
;  Visible = -1
; Unterstützte Methoden:
...
;  Rotate (2)
;  Rotate3D (3)
;  ScaleEntity (2)
SetPattern (2)
;  SetXData (2)
;  TransformBy (1)
;  Update ()

Patternnamen ist ein RO = ReadOnly attribut, kann also nuir gelsen, nicht gesetzt werden.
Aber es gibt eine Methode zum Setzen des Schraffurmustern - Setpattern
Dazu gibts natürlich nicht
(vlax-set-property ...
sondern
(vlax-invoke-method ...

------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Dorfy
Mitglied
Double-Dipl.-Ing. Bleistiftanspitzer


Sehen Sie sich das Profil von Dorfy an!   Senden Sie eine Private Message an Dorfy  Schreiben Sie einen Gästebucheintrag für Dorfy

Beiträge: 893
Registriert: 21.07.2006

AutoCad2007, ProE, HiCad

erstellt am: 31. Okt. 2008 19:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Geos 10 Unities + Antwort hilfreich

Hallo Ernst
Zitat:
Original erstellt von Geos:
...
Wenn auch laienhaft, aber immerhin haben wir jetzt deutsche Beschreibungen für zwei vl-Funktionen.  ;)
...

...und wenn mans mal geschnallt hat  ...

Aber für heute lass ichs mal ... 


Eigentlich solltest Du diese Seiten kennen

Man muss das Rad nicht zweimal erfinden.

mfg heiko

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wronzky
Ehrenmitglied V.I.P. h.c.
CAD-Dienstleistungen für Architekten



Sehen Sie sich das Profil von wronzky an!   Senden Sie eine Private Message an wronzky  Schreiben Sie einen Gästebucheintrag für wronzky

Beiträge: 2154
Registriert: 02.05.2005

CAD:
AutoCAD 2.6 bis 2014
ADT 2005 - 2014
Arcibem
System:
Windows 2000, XP, NO VISTA
Internet-Startseite:
http://www.archi.de

erstellt am: 31. Okt. 2008 19:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Geos 10 Unities + Antwort hilfreich

Zitat:
Dazu gibts natürlich nicht
(vlax-set-property ...
sondern
(vlax-invoke-method ...

oder gleich (vla-SetPattern ...) 

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

Geos
Mitglied
Vermessungstechniker i.R.


Sehen Sie sich das Profil von Geos an!   Senden Sie eine Private Message an Geos  Schreiben Sie einen Gästebucheintrag für Geos

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 01. Nov. 2008 18:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Da seht Ihr, auf welch blöde Ideen man kommen kann, wenn man auf Vermutungen angewiesen ist. 
Warum funkt (vlax-put-property) beim Layer und nicht beim Patternname (bzw. warum ist Patternname RO, wenn über setPattern doch änderbar)?
Try and Error mag ja auch eine Lernmöglichkeit sein, aber bei mir funktioniert das nur, wenn der Teil der Versuche, die mit Error enden, sehr stark in der Minderheit bleiben.

Meine eigentliche Aufgabe ist nicht das Programmieren, aber wenn ich bei meiner Arbeit "vor einen Hindernis stehe", muss ich abschätzen, ob sich das Abändern/Erweitern vorhandener Werkzeuge (= *.lsp), oder sogar ein neues Programm lohnt.
In der Regel ist da auch keine Zeit um die engl. Hilfe - is ja besser als gar nichts - (für die (vl-..) und (vlax-..)-Funktionen durchzuackern (... soll ja alles schon vorgestern fertig sein  ).
Ich hab zwar schon öfter mit dem Gedanken gespielt, mir die mal zu übersetzen (in der Freizeit, mit dict.leo), hätte ja einen enormen Lerneffekt, aber wenns dann so endet wie oben ...

Stimmt, Axel hat bereits einige Funktionen beschrieben - aber für das Auslesen/Setzen der Eigenschaften hatte ich bereits (kürzere  ) eigene Funftionen (dxf wert ename) und (mod ename grcode wert). Diese vl-Funktion waren also keine Bereicherung, weshalb ich das wohl nicht mit der nötigen Aufmerksamkeit gelesen hatte und daher mein Gehirn wohl auch die Speicherung verweigert hat.

Interessant werden die dann wieder, wenn's mit dem "alten Lisp" mühsam wird oder gar nicht geht - so wie oben bei der Fläche, die gibts eben nicht über (cdr (assoc x (entget ename))).

Und dann fällt mir auch wieder ein, dass Ihr hier (vla-..)-Funktionen gepostet werden und denke mir, dass derjenige ja auch irgendwo gelesen haben müßte, dass es beispielsweise eine Funktion (vla-get-area ..) gibt, der ein VLA-Object zu übergeben ist, oder eben (vla-SetPattern ...).

Und hie und da frag ich dann halt - wie oben - in der Hoffnung, dass es in der Zwischenzeit doch ein neues Buch oder WebSite gibt um halt keine Info-Möglichkeit zu "verpassen". 

------------------
Schöne Grüße
Ernst

www.geopaint.at

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

autocart
Mitglied
Technischer Redakteur


Sehen Sie sich das Profil von autocart an!   Senden Sie eine Private Message an autocart  Schreiben Sie einen Gästebucheintrag für autocart

Beiträge: 695
Registriert: 08.09.2003

erstellt am: 04. Nov. 2008 02:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Geos 10 Unities + Antwort hilfreich

Hallo Ernst!

Also, wenn das mit "_recreate Boundary" bei "hatchedit" in deinem 2005er nicht geht, dann ist für dich vielleicht dieser Link interessant.

Einziger Nachteil: Es werden genau die Objekte wiederhergestellt, aus denen die Umgrenzung ursprünglich gebildet wurde. Das muss nicht immer eine Polylinie sein. Daher wird danach das Messen der Fläche mitunter etwas aufwendiger, wenn man die einzelnen Objekte (Linien, Bögen,..) erst händisch in eine PL umwandeln muss.

[EDIT:]Hab grad auf deiner Homepage das Fläche-Programm gesehen. Laut deiner Programm-Beschreibung müsstest du zusammen mit dem gerade von mir geposteten Link genau das hinkriegen, was du willst: Die Fläche von Schraffuren. (Zumindest, wenn es bei dir funktioniert. Bei mir funktioniert dein Prog nämlich nicht.)[/EDIT]

------------------
Gruß, Stephan
www.stbartl.at

[Diese Nachricht wurde von autocart am 04. Nov. 2008 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Geos
Mitglied
Vermessungstechniker i.R.


Sehen Sie sich das Profil von Geos an!   Senden Sie eine Private Message an Geos  Schreiben Sie einen Gästebucheintrag für Geos

Beiträge: 1017
Registriert: 21.09.2001

ACAD Map 2010, Win 7 Pro
eigene Lisp's<P>HW: Core i7 860, 2.8 GHz
3.3 GB, NVIDIA GeForce GTS 250

erstellt am: 04. Nov. 2008 17:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke für den Link - kann ich sicher irgendwann brauchen.
Die Arbeit, die Auslöser für die Frage war, ist fertig (war nicht so unfangreich) hab die Frage eher interessehalber gestellt.

Was das Flächenprogramm betrifft - (hat) funktioniert bis ACAD 2005 - zumindest bei mir. 

------------------
Schöne Grüße
Ernst

www.geopaint.at

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2020 CAD.de | Impressum | Datenschutz