Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  flächen mit farbe füllen

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  flächen mit farbe füllen (16847 mal gelesen)
sTixi
Mitglied



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

Beiträge: 26
Registriert: 30.03.2005

erstellt am: 03. Jul. 2005 15:51    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

ich hab mal ne frage ich habe gerade mit VBA flächen in Autocad erzeigen können dank eurer hilfe.. das klappt auch prima... nur was ich noch gern hätte ict, daß er diese flächen mit farben ausfüllt.. wie ist denn da der code dazu.. habe im forum gesucht aber nix gefunden.

danke
sTixi

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: 9732
Registriert: 01.12.2003

AutoCAD 2.5 - 2022, LDD, MDT, RD, ADT, Civil
Inventor AIP 4-11, 2008 -2022
Win 10

erstellt am: 03. Jul. 2005 17:11    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 sTixi 10 Unities + Antwort hilfreich

Tja leider weiss ich nicht, welcher Beitrag dir hier im Forum bzw. welches Mitglied dir hier geholfen hat (Ein Link auf den betreffenden Beitrag wäre das hilfreichste im aktuellen Beitrag).

Vermutlich muss Acad3DFace einfach nur durch acadhatch (patternName =SOLID") oder acadsolid ersetzt werden.

Vielleicht reicht es allerdings auch, die Systemvariable FILLMODE zu aktivieren und die Zeichnung zu regenerieren.

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

Udo Hübner

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

sTixi
Mitglied



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

Beiträge: 26
Registriert: 30.03.2005

erstellt am: 03. Jul. 2005 17: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

wie dumm von mir.. hier ist der dazugehörige code und habe es ja mit add3dface gemacht.. mit solid und hatch geht es nicht.. müßte die add3dface also mit farbe füllen nur wie.

Dim acpface As Acad3DFace
   

    Dim fstPt(2) As Double
    Dim sndPt(2) As Double
    Dim trdPt(2) As Double
    Dim fthPt(2) As Double
   
    fstPt(0) = Sheets("results").Cells(8, 9): fstPt(1) = Sheets("results").Cells(8, 10): fstPt(2) = Sheets("results").Cells(8, 11)
    sndPt(0) = Sheets("results").Cells(8, 14): sndPt(1) = Sheets("results").Cells(8, 15): sndPt(2) = Sheets("results").Cells(8, 16)
    trdPt(0) = Sheets("results").Cells(9, 14): trdPt(1) = Sheets("results").Cells(9, 15): trdPt(2) = Sheets("results").Cells(9, 16)
    fthPt(0) = Sheets("results").Cells(9, 9): fthPt(1) = Sheets("results").Cells(9, 10): fthPt(2) = Sheets("results").Cells(9, 11)
   

    Set acpface = ac.ActiveDocument.ModelSpace.Add3DFace(fstPt, sndPt, trdPt, fthPt)

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: 9732
Registriert: 01.12.2003

AutoCAD 2.5 - 2022, LDD, MDT, RD, ADT, Civil
Inventor AIP 4-11, 2008 -2022
Win 10

erstellt am: 03. Jul. 2005 18:38    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 sTixi 10 Unities + Antwort hilfreich

Zum Einfärben der Flächen kann man einfach
den Befehl SHADEMODE Gouraud aufrufen.

Natürlich muss es mit acadsolid auch funktionieren, solange es 2D Koordinaten sind.


Zitat:
Original aus der AutoCAD Hilfe (Entwicklerhandbuch für ActiveX und VBA)

Erstellen von Flächen mit kompakter Füllung
Sie können farbig gefüllte dreieckige und viereckige Flächen erstellen. Deaktivieren Sie die Systemvariable FILLMODE beim Erstellen der Flächen, um den Erstellvorgang zu beschleunigen. Aktivieren Sie FILLMODE anschließend, um die bereits fertig erstellte Fläche zu füllen.
Wenn Sie eine vierseitige Fläche mit kompakter Füllung erstellen, wird ihre Form von der Reihenfolge des dritten und vierten Punkts bestimmt. Vergleichen Sie die folgenden Abbildungen:
Die ersten beiden Punkte definieren eine Kante des Polygons. Der dritte Punkt wird diagonal gegenüber vom zweiten Punkt definiert. Wenn der vierte Punkt dem dritten Punkt gleichgesetzt wird, entsteht ein gefülltes Dreieck.

Verwenden Sie zum Erstellen einer Fläche mit kompakter Füllung die Methode AddSolid

Weitere Informationen zum Füllen von Volumenkörpern finden Sie unter "Erstellen von Flächen mit kompakter Füllung" im Benutzerhandbuch.

Erstellen eines Objekts mit kompakter Füllung
Im folgenden Beispielcode wird eine vierseitige Fläche mit kompakter Füllung im Modellbereich anhand der Koordinaten (0, 0, 0), (5, 0, 0), (5, 8, 0) und (0, 8, 0) erstellt.



Code:

Sub Ch4_CreateSolid()
    Dim solidObj As AcadSolid
    Dim point1(0 To 2) As Double
    Dim point2(0 To 2) As Double
    Dim point3(0 To 2) As Double
    Dim point4(0 To 2) As Double

    ' Definieren des Volumenkörpers
    point1(0) = 0#: point1(1) = 0#: point1(2) = 0#
    point2(0) = 5#: point2(1) = 0#: point2(2) = 0#
    point3(0) = 5#: point3(1) = 8#: point3(2) = 0#
    point4(0) = 0#: point4(1) = 8#: point4(2) = 0#
    ' Erstellen des Volumenkörperobjekts im Modellbereich
    Set solidObj = ThisDrawing.ModelSpace.AddSolid _
                  (point1, point2, point3, point4)
    ZoomAll
End Sub


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

Udo Hübner

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)2023 CAD.de | Impressum | Datenschutz