Zobrazit plnou verzi příspěvku: Riadena a neriadena honota

hanc.mat
31.10.2018, 10:56
Dobrý den, viete mi poradiť so zapinanim riadenej(referenčnej) a neriadenej koty? 'If questions = "Angle" Then'     oSketch = ThisDoc.Document.ComponentDefinition.Sketches.Item("moj-sketch")'     oSketch.DimensionConstraints.Item(FlangeAngle).Driven = True'     oSketch.DimensionConstraints.Item(d293).Driven = False'Else If questions = "Diameter" Then'     oSketch = ThisDoc.Document.ComponentDefinition.Sketches.Item("moj_sketch")'oSketch.DimensionConstraints.Item(d293).Driven = True'oSketch.DimensionConstraints.Item(FlangeAngle).Driven = False'End IfVyhadzuje error a nechce mi zprepinat koty v rovnakom načrte.

Navara
31.10.2018, 11:25

Musíte se rozhodnout, jstli se ten náčrt jmenuje "moj-sketch" nebo "moj_sketch"
Navíc identifikovat kótu musíte číslem (indexem v kolekci), ne názvem parametru Výsledek [code]Sub Main() Dim oSketch As PlanarSketch = ThisDoc.Document.ComponentDefinition.Sketches.Item("moj-sketch") Dim dim1 = GetDimensionByParameterName(oSketch, "FlangeAngle") Dim dim2 = GetDimensionByParameterName(oSketch, "d293") If questions = "Angle" Then  dim1.Driven = True  dim2.Driven = False ElseIf questions = "Diameter" Then  dim1.Driven = False  dim2.Driven = True End IfEnd SubFunction GetDimensionByParameterName(oSketch As Sketch, parameName As String) For Each d As DimensionConstraint In oSketch.DimensionConstraints  If d.Parameter.Name = parameName Then   Return d  End If Next Return NothingEnd Function[/code] 
Navara2018-10-31 11:34:31

hanc.mat
02.11.2018, 11:37
Dakujem za radu. vas prikaz som musel dat do čisteho pravidla nakoľko ak boli dalšie podmienky za vašim kodom vyhadzovalo to dalšie chyby.kód stale vyhadzuje tu istu chybu:Unspecified error (Exception from HRESULT: 0x80004005 (E_FAIL))More info: System.Runtime.InteropServices.COMException (0x80004005): Unspecified error (Exception from HRESULT: 0x80004005 (E_FAIL))   at Microsoft.VisualBasic.CompilerServices.LateBinding.InternalLateSet(Object o, Type& objType, String name, Object[] args, String[] paramnames, Boolean OptimisticSet, CallType UseCallType)   at Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateSet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean OptimisticSet, Boolean RValueBase, CallType CallType)   at LmiRuleScript.Main()   at Autodesk.iLogic.Exec.AppDomExec.ExecRuleInAssembly(Assembly assem)   at iLogic.RuleEvalContainer.ExecRuleEval(String execRule)

Navara
02.11.2018, 12:46

tak sem dejte i ten model, protože mě to fungovalo

hanc.mat
27.11.2018, 08:45
Ospravedlňujem sa a opravim moj unahleny post ...ano ak to nahodim na cistu verziu modelu kde nieje ziaden kod funguje to korektne - takze Vas kod funguje spravne! Avšak ak to ale nahodim do môjho modelu kde je to naviazane na dalsie If ... tak to chybu vyhodi stale aj ked je to vo vlastnej rule a kod sa odkazuje len na danu rule ak ju požadujem z Formularu.