| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Contraints (Abhängigkeiten) (1517 mal gelesen)
|
VOSTA1 Mitglied techn. Angestellter
Beiträge: 108 Registriert: 23.12.2002
|
erstellt am: 28. Jul. 2005 16:23 <-- editieren / zitieren --> Unities abgeben:
Hallo, wer kann mir weiterhelfen ? +++++++++++++++++++++++++++++++++++++++++++ sub test_constraints Dim oDoc As AssemblyDocument Set oDoc = ThisApplication.ActiveDocument msgbox oDoc.ComponentDefinition.Constraints.Item(i).HealthStatus msgbox oDoc.ComponentDefinition.Constraints.Item(i).Name
End Sub +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
hiermit kann ich den Namen der Abhägigkeit feststellen und ob die Abhängigkeit unterdrückt ist oder nicht. Wie komme ich an den Wert heran, wenn z.B. 2 Ebenen mit 100mm Abstand verkünpft sind. Dieser Wert wird ja mit z.B. d10 in der Parameterliste abgelegt. Wo wird Festgelegt welcher Parameter mit welcher Abhängigkeit verknüpft ist. Kommt man per VBA heran? MFG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 28. Jul. 2005 16:36 <-- editieren / zitieren --> Unities abgeben: Nur für VOSTA1
|
VOSTA1 Mitglied techn. Angestellter
Beiträge: 108 Registriert: 23.12.2002
|
erstellt am: 28. Jul. 2005 16:41 <-- editieren / zitieren --> Unities abgeben:
|
VOSTA1 Mitglied techn. Angestellter
Beiträge: 108 Registriert: 23.12.2002
|
erstellt am: 28. Jul. 2005 16:52 <-- editieren / zitieren --> Unities abgeben:
|
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 29. Jul. 2005 06:12 <-- editieren / zitieren --> Unities abgeben: Nur für VOSTA1
|
VOSTA1 Mitglied techn. Angestellter
Beiträge: 108 Registriert: 23.12.2002
|
erstellt am: 29. Jul. 2005 12:39 <-- editieren / zitieren --> Unities abgeben:
Hallo, warum sind diese Befehle nicht im Objektkatalog aufgeführt, bzw. werden automatisch im Pulldownmenü aufgeführt wie .name usw. . Wo sind die Befehle gelistet? Wenn ich eine Abhängigkeit über Einfügen erzeugt habe komme ich über Angle bzw. Offset nicht weiter. Wie lautet hier die Zauberformel ? ????.Expression ????.name auch hier schon mal vielen Dank im voraus. MFG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 29. Jul. 2005 13:25 <-- editieren / zitieren --> Unities abgeben: Nur für VOSTA1
|
VOSTA1 Mitglied techn. Angestellter
Beiträge: 108 Registriert: 23.12.2002
|
erstellt am: 29. Jul. 2005 14:15 <-- editieren / zitieren --> Unities abgeben:
Hallo, komme mit deinem Tip BreakPoint nicht weiter gibt es außer Offset.expression Offset.name und angle.expression angle.name noch mehr Befehle im Zusammenhang mit den Constrains stehen im besonderem mit der Abhängigkeit "Einfügen" MFG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
waldi Mitglied Softwerker
Beiträge: 272 Registriert: 07.08.2001
|
erstellt am: 29. Jul. 2005 14:33 <-- editieren / zitieren --> Unities abgeben: Nur für VOSTA1
Offset liefert dir ein Parameter Objekt und das steht dann in der Doku :-) Angle genaus, und bei den anderen Constraints ist es das gleiche (FlushConstraint.Offset und InsertConstraint.Distance)
[Diese Nachricht wurde von waldi am 29. Jul. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
VOSTA1 Mitglied techn. Angestellter
Beiträge: 108 Registriert: 23.12.2002
|
erstellt am: 29. Jul. 2005 15:05 <-- editieren / zitieren --> Unities abgeben:
Hallo, schon mal vielen Dank für die Antworten, aber irgendwie komme ich nicht weiter vielleicht klappts hiermit. Ich suche die ???? ................ Ctype = oDoc.ComponentDefinition.Constraints.Item(i).Type
Select Case Ctype Case "100665856": oOffset = True Case "100666368": oOffset = True Case "100665600": oOffset = True Case "100665088": oAngle = True Case "100665344": oDistance = True ' Typ für Abhängigkeit "Einfügen" End Select ' Hier werden Abhängigkeiten abgefangen die ich noch nicht definiert habe bzw. nicht funktionieren wie z.B Einfügen If Not (oOffset = True Or oAngle = True Or oDistance = True) Then MsgBox "Neuer Contraintstyp : " & Ctype Cwert = " nicht definiert" PC_01_name = " ---- " End If
If oOffset = True Then Cwert = oDoc.ComponentDefinition.Constraints.Item(i).Offset.Expression PC_01_name = oDoc.ComponentDefinition.Constraints.Item(i).Offset.Name End If If oAngle = True Then Cwert = oDoc.ComponentDefinition.Constraints.Item(i).angle.Expression PC_01_name = oDoc.ComponentDefinition.Constraints.Item(i).angle.Name End If If oDistance = True Then Cwert = oDoc.ComponentDefinition.Constraints.Item(i).??????????????????? PC_01_name = oDoc.ComponentDefinition.Constraints.Item(i).????????????
End If ....................... MFG
[Diese Nachricht wurde von VOSTA1 am 29. Jul. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
VOSTA1 Mitglied techn. Angestellter
Beiträge: 108 Registriert: 23.12.2002
|
erstellt am: 29. Jul. 2005 16:01 <-- editieren / zitieren --> Unities abgeben:
Habs gefunden If oDistance = True Then Cwert = oDoc.ComponentDefinition.Constraints.Item(i).distance.expression PC_01_name = oDoc.ComponentDefinition.Constraints.Item(i).distance.name End If ----- hatte außerhalb der IF oDistance = true Then ..... meine Test MsgBox mit msgbox oDoc.ComponentDefinition.Constraints.Item(i).distance.expression deshalb gabs immer eine Fehlermeldung Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cookiie Mitglied
Beiträge: 32 Registriert: 20.06.2005
|
erstellt am: 01. Aug. 2005 08:53 <-- editieren / zitieren --> Unities abgeben: Nur für VOSTA1
Nicht direkt zum Thema, ist mir abr beim überfliegen aufgefallen. In deiner Select Case-Anweisung hast du direkt darunter COde zum Abfangen. Da damit zu rechnen ist das du noch mehr Fälle abfangen mußt, was zu einer ziemlich langen Zeile führen würde. Warum machst du nicht einfach select case Case 1 Case 2 Case Else "wenn oben nicht gefunden mach das hier" end select Spart Code und ist übersichtlicher. Cookiie Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
VOSTA1 Mitglied techn. Angestellter
Beiträge: 108 Registriert: 23.12.2002
|
erstellt am: 01. Aug. 2005 09:29 <-- editieren / zitieren --> Unities abgeben:
|