Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Skizze voll bestimmt?

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:  Skizze voll bestimmt? (2151 mal gelesen)
GeorgK
Mitglied



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

Beiträge: 619
Registriert: 06.06.2001

erstellt am: 24. Apr. 2013 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

Hallo zusammen,

wir kann ich in einer Baugruppe abfragen, welche Bauteile keine voll bestimmte Skizze haben?
Unter Inventor 2011 erhalte ich trotz voll bestimmter Skizze die Meldung, dass diese nicht voll bestimmt wäre.

Public Sub CheckSkecthes()

Dim Style, Title, Response, MyString
Style = vbYesNoCancel + vbQuestion + vbDefaultButton2 ' Define buttons.
Title = "Please confirm...." ' Define title.

Dim oSketches As PlanarSketches
Set oSketches = ThisApplication.ActiveDocument.ComponentDefinition.Sketches

Dim i As Integer
For i = 1 To oSketches.Count

MsgBox oSketches.Item(i).Name

If oSketches.Item(i).ConstraintStatus <> kFullyConstrainedConstraintStatus Then
Response = MsgBox("Skizze" & i & " is not fully constrained. Do you want to Edit?", Style, Title)
If Response = vbYes Then
oPCompDef.Sketches.Item(i).Edit
Exit For
ElseIf Response = vbCancel Then
Exit For
ElseIf Response = vbNo Then
End If
End If

Next

End Sub

Vielen Dank
Georg

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 24. Apr. 2013 15:55    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 GeorgK 10 Unities + Antwort hilfreich

Hallo

Das ActiveDocument ist, wenn du eine Baugruppe geöffnet hast, die Baugruppendatei. Du kontrollierst also nicht die Skizzen der Bauteile. Dazu solltest du in einer Schleife durch alle referenzierten Dokumente gehen und wenn der Dokumenttyp=Part ist, dann in der ComponentDefinition.Sketches nach unbestimmten Skizzen suchen.

------------------
MfG
Ralf

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

GeorgK
Mitglied



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

Beiträge: 619
Registriert: 06.06.2001

erstellt am: 24. Apr. 2013 16: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

Hallo Ralf,

das Beispiel war für ein Part. Leider funktioniert der Code hier auch nicht. Es kommt immer die Meldung, dass die Skizze nicht voll bestimmt ist. Könntest Du das bitte mal bei Dir prüfen? Vielen Dank.

Georg

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

GeorgK
Mitglied



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

Beiträge: 619
Registriert: 06.06.2001

Inventor 2017
Siemens NX 8.5 - 12.0
Autocad Mechanical 2017
Catia V5R19
3,4 GHz; 64 GB RAM
Windows 10
openSUSE Leap 42.3
Visual Studio 2010 - 2017
Windows 2012 R2
Vault 2017

erstellt am: 24. Apr. 2013 16: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

Aus einem Forum habe ich folgenden Code:

Sub CheckSketches()
    Dim oDoEc As Document
    Set oDoc = ThisApplication.ActiveDocument
    Dim Good As Boolean
    Good = FullyConstrained(oDoc)
    If Good Then
    'Debug.Print "All sketches are constrained"
    MsgBox ("All sketches are constrained")
    Else
    'Debug.Print "Under constrained sketches found"
    MsgBox ("Under constrained sketches found")
    End If
End Sub

Function FullyConstrained(ByVal Refdoc As Document) As Boolean
    FullyConstrained = True
    Dim TempBoolean As Boolean
    TempBoolean = True
    Debug.Print Refdoc.AllReferencedDocuments.Count & " Referenced Documents"
   
    If Refdoc.DocumentType = kPartDocumentObject Then
    FullyConstrained = PartSketchesConstrained(Refdoc)
    ElseIf Refdoc.DocumentType = kAssemblyDocumentObject Then
    Dim oDoc As Document
    For Each oDoc In Refdoc.ReferencedDocuments
    If oDoc.DocumentType = kPartDocumentObject Then
    TempBoolean = PartSketchesConstrained(oDoc)
    End If
    If Not TempBoolean Then FullyConstrained = False
    Next
    End If

End Function


Function PartSketchesConstrained(ByVal Refdoc As PartDocument) As Boolean
    'Assume the part is fully constrained
    PartSketchesConstrained = True
   
    Dim oSketch As Sketch
   
    'Loop thru the sketches in the part and look for unconstrained sketches
    For Each oSketch In Refdoc.ComponentDefinition.Sketches
   
    Select Case oSketch.ConstraintStatus
    Case kFullyConstrainedConstraintStatus
    'do Nothing
    Case kOverConstrainedConstraintStatus
    'Debug.Print "kOverConstrainedConstraintStatus: " & Refdoc.DisplayName & " - " & oSketch.Name
    MsgBox ("kOverConstrainedConstraintStatus: " & Refdoc.DisplayName & " - " & oSketch.Name)
    Case kUnderConstrainedConstraintStatus
    oSketch.Visible = False
    PartSketchesConstrained = False
    'Debug.Print "kUnderConstrainedConstraintStatus: " & Refdoc.DisplayName & " - " & oSketch.Name
    MsgBox ("kUnderConstrainedConstraintStatus: " & Refdoc.DisplayName & " - " & oSketch.Name)
    Case kUnknownConstraintStatus
    'Debug.Print "kUnknownConstraintStatus: " & Refdoc.DisplayName & " - " & oSketch.Name
    MsgBox ("kUnknownConstraintStatus: " & Refdoc.DisplayName & " - " & oSketch.Name)
    Dim oEnt
    End Select
   
    Next oSketch

End Function


Auch dieser liefert den Fehler.

[Diese Nachricht wurde von GeorgK am 24. Apr. 2013 editiert.]

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 24. Apr. 2013 21: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 GeorgK 10 Unities + Antwort hilfreich

Hallo

Hab beide Codes kurz getestet und bekomme nur unbestimmte Skizzen gemeldet.

------------------
MfG
Ralf

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