Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  3DFlächen extrudieren

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
  
Von Digital Twins bis Hochleistungs-Computing: PNY präsentiert seine Zukunftstechnologien für die Industrie von morgen, eine Pressemitteilung
Autor Thema:  3DFlächen extrudieren (1221 mal gelesen)
PBPaul
Mitglied
Konstrukteur


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

Beiträge: 48
Registriert: 28.09.2004

ACAD 2009, Vista 64

erstellt am: 01. Okt. 2006 08:13    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


Extrude.zip

 
Hallo,
weil es beim letzten Mal so gut geklappt hat gleich noch ein Problem.
1. ich wollte mit folgendem Code 3DFlächen zu Volumen umwandeln:

Sub FlZuVol()
    Dim Ele As AcadEntity
    Dim Region As AcadRegion
    Dim Segment As Acad3DSolid
    Dim Blechdicke As Variant
   
    Blechdicke = 5
   
    For Each Ele In ThisDrawing.ModelSpace
        If TypeName(Ele) = "IAcad3DFace" Then
      'ActiveDocument.SendCommand "_Extrude" & vbCr & Ele & vbCr & Blechdicke & vbCr
            Region = ThisDrawing.ModelSpace.AddRegion(Ele)
            Set Segment = ThisDrawing.ModelSpace.AddExtrudedSolid(Ele, Blechdicke, 0)
        End If
    Next

End Sub

Leider erhalte ich die Fehlermeldung: "Unültige Objektanordnung"
Ich vermute, das ich Einer Region keine 3DPolylinie übergeben kann.
Mein 2. Ansatz über SendCommand hat leider auch nicht funktioniert.
Was mache ich falsch?

Und hier noch eine  2. Frage.
Im Anhang eine Zeichnung bei der ich über Fensterauswahl die 3DFlächen extrudiert habe (Extrusionshöhe = -5) leider erhalte ich bei manchen Flächen eine andere Extrusionsrichtung. Wieso?

MfG
Paul

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1360
Registriert: 24.07.2002

erstellt am: 03. Okt. 2006 19: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 PBPaul 10 Unities + Antwort hilfreich

Hallo Paul,

Hier mal ein Grundgerüst:

Sub Addregion_Paul()
Dim oEnt As AcadEntity
Dim vPick As Variant
Dim oRegions As Variant
Dim oRegObjects(0) As AcadEntity
Dim Segment As Acad3DSolid
Dim Blechdicke As Variant

ThisDrawing.Utility.GetEntity oEnt, vPick, "Objekt wählen: "
   
    Set oRegObjects(0) = oEnt
    oRegions = ThisDrawing.ModelSpace.AddRegion(oRegObjects)
    Blechdicke = 5
    Set Segment = ThisDrawing.ModelSpace.AddExtrudedSolid(oRegions(0), Blechdicke, 0)
    oRegions(0).Delete
    oEnt.Delete
End Sub

Zur zweiten Frage:

Unter 2007 hab ich keine Probleme damit. Es werden alle Segmente in die selbe Richtung extrudiert. Ich probiers Morgen noch mal im 2006er.

Gruß, Carsten

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

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: 04. Okt. 2006 15:46    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 PBPaul 10 Unities + Antwort hilfreich

Hallo Paul,

Im 2006er extrudiert Autocad genau so wie in deinem Beispiel. Woran es liegt kann ich dir leider nicht sagen.

Gruß, Carsten

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

PBPaul
Mitglied
Konstrukteur


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

Beiträge: 48
Registriert: 28.09.2004

ACAD 2009, Vista 64

erstellt am: 09. Mai. 2007 14:52    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,
nach einiger Zeit habe ich dieses Problemm wieder aufgegriffen.
Anbei mein Versuch:

Sub Fl2Sol()
Dim oEnt As AcadEntity
Dim oRegions As Variant
Dim oRegObjects(0) As AcadRegion
Dim Segment As Acad3DSolid
Dim Blechdicke As Variant
Dim Auswahl As AcadSelectionSet
Blechdicke = 10
On Error Resume Next
ThisDrawing.SelectionSets("TempSSet").Delete

Set Auswahl = ThisDrawing.SelectionSets.Add("TempSSet")
Auswahl.SelectOnScreen
    For Each oEnt In Auswahl
        If TypeName(oEnt) = "IAcad3DFace" Then
            Set oRegObjects(0) = oEnt
            oRegions = ThisDrawing.ModelSpace.AddRegion(oRegObjects)
            Set Segment = ThisDrawing.ModelSpace.AddExtrudedSolid(oRegions(0), Blechdicke, 0)
            oRegions(0).Delete
            oEnt.Delete
        End If
    Next oEnt
    If Not Auswahl Is Nothing Then
        Auswahl.Delete
    End If
End Sub

Leider funktioniert es nicht, Es kommt keine Fehlermeldung, die Schleife wird durchlaufen, und die 3D-Flächen werden gelöscht selbst wenn die entsprechenden Zeilen auskommentiert werden.
Wer weiß einen Rat?

MfG
Paul

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