Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Probleme mit AddByProjectingEntity

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:  Probleme mit AddByProjectingEntity (1572 mal gelesen)
Stefan.Geissler
Mitglied
Student


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

Beiträge: 13
Registriert: 22.04.2008

erstellt am: 30. Okt. 2008 14: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

Hallo,
ich versuche eine die Kanten einer Geometrie auf eine Skizze zu projizieren.
Leider sagt er mir beim letzten Befehl(Set oEndLine = oSkizzeProxy.AddByProjectingEntity(oEdgeProxy)) immer "Die Methode "Add..." ist für das Objekt "..Sketch.." fehlgeschlagen.
Auch mit dem "AddBySilhouette" hat es nicht Funktioniert.

Kann mir vielleicht jmd. Helfen oder einen Tipp geben an was es liegen könnte? Hab schon hier im Forum gelesen, dass es nur mit den Proxys klappt aber auch das hat nicht geholfen.

Vielen Dank schonmal!

Code:
   
    Dim oAssCompDef As AssemblyComponentDefinition
        Set oAssCompDef = oAssDoc.ComponentDefinition

    Dim oPart As ComponentOccurrence
        Set oPart = oAssDoc.ComponentDefinition.Occurrences.Item(2)

    Dim oPartDef As PartComponentDefinition
        Set oPartDef = oPart.Definition

    Dim oTransGeom As TransientGeometry
        Set oTransGeom = ThisApplication.TransientGeometry

    Dim oEbene As WorkPlane
        Set oEbene = oPartDef.WorkPlanes.Item(4)

    Dim oSkizze As PlanarSketch
        Set oSkizze = oAssCompDef.Sketches.Add(oEbene)

    Dim oAss_Stapel As AssemblyComponentDefinition
        Set oAss_Stapel = oAssDoc.ComponentDefinition.Occurrences.ItemByName("2000_Stapelregal_BG_01:1").Definition

    Dim oPart_Dach As ComponentOccurrence
        Set oPart_Dach = oAss_Stapel.Occurrences.ItemByName("2000_Stapelregal_Dach_001:1")

    Dim oPart_DachDef As PartComponentDefinition
        Set oPart_DachDef = oPart_Dach.Definition

    Dim oRing As ExtrudeFeature
        Set oRing = oPart_DachDef.Features.ExtrudeFeatures.Item(3)

    Dim oSkizzeProxy As PlanarSketchProxy
        Call oPart.CreateGeometryProxy(oSkizze, oSkizzeProxy)

    Dim oEdge As Edge
        Set oEdge = oRing.Faces.Item(1).Edges.Item(1)
    Dim oEdgeProxy As EdgeProxy
        Call oPart_Dach.CreateGeometryProxy(oEdge, oEdgeProxy)
    Dim oEndLine As SketchEntity
        Set oEndLine = oSkizzeProxy.AddByProjectingEntity(oEdgeProxy)
   
'    Dim oFace As Face
'        Set oFace = oRing.StartFaces.Item(1)
'    Dim oFaceProxy As FaceProxy
'        Call oPart_Dach.CreateGeometryProxy(oFace, oFaceProxy)
'    Dim oSilhouetteCurve As SketchEntity
'        Set oSilhouetteCurve = oSkizzeProxy.AddBySilhouette(oFaceProxy, oTransGeom.CreatePoint(1, 0, 0))


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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 30. Okt. 2008 15:08    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 Stefan.Geissler 10 Unities + Antwort hilfreich

Hallo,

hast du schon das Beispiel aus der Hilfe ausprobiert?

Code:

Public Sub ProjectingAcrossParts()

    ' Set a reference to the assembly component definition.
    Dim oAsmCompDef As AssemblyComponentDefinition
    Set oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition

    ' Get references to two occurrences.
    ' This arbitrarily gets the first and second occurrence.
    Dim oOcc1 As ComponentOccurrence
    Set oOcc1 = oAsmCompDef.Occurrences.Item(1)

    Dim oOcc2 As ComponentOccurrence
    Set oOcc2 = oAsmCompDef.Occurrences.Item(2)

    ' Create a sketch on the first part.
    Dim oSketch1 As PlanarSketch
    Set oSketch1 = oOcc1.Definition.Sketches.Add(oOcc1.Definition.WorkPlanes(1))

    ' Set a reference to the transient geometry collection.
    Dim oTransGeom As TransientGeometry
    Set oTransGeom = ThisApplication.TransientGeometry

    ' Create a sketch line on the sketch.
    Dim oSketchLine1 As Object
    Set oSketchLine1 = oSketch1.SketchLines.AddByTwoPoints(oTransGeom.CreatePoint2d(0, 0), _
                                                    oTransGeom.CreatePoint2d(4, 0))

    ' Because we need the sketch line in the context of the assembly
    ' we need to create a proxy for the sketch line. The proxy
    ' represents the sketch line in the context of the assembly.
    Dim oSketchLine1Proxy As Object
    Call oOcc1.CreateGeometryProxy(oSketchLine1, oSketchLine1Proxy)

    ' Create a sketch on the second part.
    Dim oSketch2 As PlanarSketch
    Set oSketch2 = oOcc2.Definition.Sketches.Add(oOcc2.Definition.WorkPlanes(1))

    ' Create a proxy for the sketch in the second part.
    Dim oSketch2Proxy As PlanarSketchProxy
    Call oOcc2.CreateGeometryProxy(oSketch2, oSketch2Proxy)

    ' Project the line in the sketch in the first
    ' part to the sketch in the second part
    Dim oSketchLine2Proxy As SketchLineProxy
    Set oSketchLine2Proxy = oSketch2Proxy.AddByProjectingEntity(oSketchLine1Proxy)

End Sub


Manuell probiert zu projizieren? Vielleicht versucht er ins Leere zu projizieren?

------------------
Grüße Igor

FX64 Software Solutions - Inventor Tools

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

Stefan.Geissler
Mitglied
Student


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

Beiträge: 13
Registriert: 22.04.2008

erstellt am: 03. Nov. 2008 10:31    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

Ja das Beispiel hab ich probiert. Auch das andere Beispiel mit dem Zylinder (AddBySilhouette Method mit dem SilhouetteSample()).

Kann es daran liegen, dass ich das Skizzenproxy auf Basis des oPart erzeugt habe, jedoch die Skizze in der übergeordneten Baugruppe erstellt wird?

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