Adding a SurfaceTextureSymbol to a section view or a RadiusDimension to a detail view, there's this message box:
No such rule "(model)"
Child Sehnenflaeche_Oberflaeche As:IvSurfaceTextureSymbol
view =Me
part1 =Me.Model
entity1 ="Sehnen_Flaeche"
intent1 = :startpoint
SurfaceTextureType = :MaterialRemovalRequired
ForceTail? =True
placementPoint =Me.origin + Vector(0,Me.Model.Achsabstand/2*S_A.viewscale,0) + Vector(5,10,0)
SamplingLength ="Ra 0.8"
leaderPoints = {Me.origin + Vector(0,Me.Model.Achsabstand/2*S_A.viewscale,0), _
Me.origin + Vector(0,Me.Model.Achsabstand/2*S_A.viewscale,0)}
End Child
The model is part of a list:
Child Lagerbuechse As :Lagerbuechse,Quantity=4
I'm not sure whether to find a solution within the assembly or the drawing annotations.
I checked the model name by using 'Immediate' - did you mean that when you asked me if I evaluated?
Does it really have parentheses like your topic title?
Or does it have parentheses like your body?
Parentheses inside quotes implies that it is trying to read the parentheses as identifier characters, and they are not. And it certainly won't find a rule by that name.
Can you supply a larger example showing the Design in which this child rule appears?
The message box says:
No such rule "Lagerbuechse_2", Lagerbuechse is the name of the model as shown below:
Child Lagerbuechse As :Lagerbuechse,Quantity=4 Werkstoff = Me.Lager_Werkstoff Dichtungsart = Me.Dichtungsart
The design continues as shown so I posted only a small part of this code.
There's the mesaage in detail:
------------------------------------------
Error - Inventor Host Exception
------------------------------------------
Error Message:
Exception in function iv_createSurfaceTextureSymbol [Root.Ausgaben.Zeichnungen.Lagerbuechse_IDW_1.Lagerbuechse_Blatt_1.S_A.Sehnenflaeche_Oberflaeche]
No such rule 'Lagerbuechse_2'
Rule Stack:
Part: Root.Ausgaben.Zeichnungen.Lagerbuechse_IDW_1.Lagerbuechse_Blatt_1.S_A.Sehnenflaeche_Oberflaeche
Rule: %%updateSelf
Design: %%IvSurfaceTextureSymbol
Source:
< %%category("Render Controls") > _
Rule %%updateSelf As String
View.sheet.%%updateSelf
View.ModelSelf
%%updateSelf = iv_createSurfaceTextureSymbol(View, View.Model, part1, entity1, intent1, ClosestPoint1, %%leader )
End Rule
Part: Root.Ausgaben.Zeichnungen.Lagerbuechse_IDW_1.Lagerbuechse_Blatt_1.S_A.Sehnenflaeche_Oberflaeche
Rule: modelSelf
Design: %%IvSurfaceTextureSymbol
Source:
< %%category("Render Controls") > _
Rule modelSelf As List
Dim handle as String = %%updateSelf
iv_updateSurfaceTextureSymbol( self, SurfaceTextureType, ForceTail?, Majority?, AllAroundSymbol?, MaximumRoughness, MinimumRoughness, ProductionMethod, AdditionalProductionMethod, SamplingLength, AdditionalSamplingLength, LayDirection, MachiningAllowance, AdditionalRoughness, SurfaceWaviness, Style, Layer)
modelSelf = { handle }
End Rule
Part: Root.Ausgaben.Zeichnungen.Lagerbuechse_IDW_1.Lagerbuechse_Blatt_1.S_A.Sehnenflaeche_Oberflaeche
Rule: renderSelf
Design: %%HostRenderMixin
Source:
< %%category("Render Controls") > _
Rule renderSelf As List
Dim transaction = %%iv_createTransaction( %%Document, "Render", Root?) ' create global transaction
If Root? Then %%progressResetMaxRange()
Try
%%preRenderValidateAll
modelSelf
%%progressIncrementMaxRange( Length(renderedChildren))
for each ch in renderedChildren
ch.renderSelf
%%progressIncrement()
next ch
If Me.IsKindOf?(:IvAssemblyDocument) Then
%%iv_postUpdateSelfConstraints( Me)
iv_updateDocument(%%Document)
End If
If Root? Then
%%progressResetMaxRange()
SetCamera()
End If
Finally
%%iv_closeTransaction( transaction, true)
End Try
Return {}
End Rule
Part: Root.Ausgaben.Zeichnungen.Lagerbuechse_IDW_1.Lagerbuechse_Blatt_1.S_A
Rule: renderSelf
Design: %%HostRenderMixin
Source:
< %%category("Render Controls") > _
Rule renderSelf As List
Dim transaction = %%iv_createTransaction( %%Document, "Render", Root?) ' create global transaction
If Root? Then %%progressResetMaxRange()
Try
%%preRenderValidateAll
modelSelf
%%progressIncrementMaxRange( Length(renderedChildren))
for each ch in renderedChildren
ch.renderSelf
%%progressIncrement()
next ch
If Me.IsKindOf?(:IvAssemblyDocument) Then
%%iv_postUpdateSelfConstraints( Me)
iv_updateDocument(%%Document)
End If
If Root? Then
%%progressResetMaxRange()
SetCamera()
End If
Finally
%%iv_closeTransaction( transaction, true)
End Try
Return {}
End Rule
Part: Root.Ausgaben.Zeichnungen.Lagerbuechse_IDW_1.Lagerbuechse_Blatt_1
Rule: renderSelf
Design: %%HostRenderMixin
Source:
< %%category("Render Controls") > _
Rule renderSelf As List
Dim transaction = %%iv_createTransaction( %%Document, "Render", Root?) ' create global transaction
If Root? Then %%progressResetMaxRange()
Try
%%preRenderValidateAll
modelSelf
%%progressIncrementMaxRange( Length(renderedChildren))
for each ch in renderedChildren
ch.renderSelf
%%progressIncrement()
next ch
If Me.IsKindOf?(:IvAssemblyDocument) Then
%%iv_postUpdateSelfConstraints( Me)
iv_updateDocument(%%Document)
End If
If Root? Then
%%progressResetMaxRange()
SetCamera()
End If
Finally
%%iv_closeTransaction( transaction, true)
End Try
Return {}
End Rule
Part: Root.Ausgaben.Zeichnungen.Lagerbuechse_IDW_1
Rule: renderSelf
Design: %%HostRenderMixin
Source:
< %%category("Render Controls") > _
Rule renderSelf As List
Dim transaction = %%iv_createTransaction( %%Document, "Render", Root?) ' create global transaction
If Root? Then %%progressResetMaxRange()
Try
%%preRenderValidateAll
modelSelf
%%progressIncrementMaxRange( Length(renderedChildren))
for each ch in renderedChildren
ch.renderSelf
%%progressIncrement()
next ch
If Me.IsKindOf?(:IvAssemblyDocument) Then
%%iv_postUpdateSelfConstraints( Me)
iv_updateDocument(%%Document)
End If
If Root? Then
%%progressResetMaxRange()
SetCamera()
End If
Finally
%%iv_closeTransaction( transaction, true)
End Try
Return {}
End Rule
------------------------------------------
OK, that is better. Does the source Lagerbuechse_2 appear anywhere in your code? Are you generating dynamic rules (creating source during run time)? That is the code I think we need to see. If not, we need to get an example that we can run. Please go through ADN for submitting it, and they will track it.
Intent is saying it cannot find Lagerbuechse_2. It was handed those characters by something we haven't seen yet in what you have posted.
I don't use dynamic rules, I can overwrite/ delete them and ETO works as well. From time to time I delete all dynamic rules.
What do you mean by "Please go through ADN for submitting it, and they will track it."?
If you search for "Lagerbuechse_2" in all project design you won't find it. Lagerbuechse_2 is a part of a list of four parts, Lagerbuechse_1 to Lagerbuechse_4.
The child rule is what I posted before:
Child Lagerbuechse As :Lagerbuechse,Quantity=4
Support for ETO is through the Autodesk Developer Network, or ADN. All ETO developers should be able to submit questions to ADN, and in this case, I am recommending that you submit a case with source to ADN that we can run and see what is going on. I don't think we can find it by trading messages in the discussion group.
Does this work if the model is not an item of a Child List?
It actually works if the model is not an item of a child list!
Thanks for introducing the ADN opportunity. I don't have a ADN membership so at this moment that's not an option.
Oh, I thought it was required as part of ETO purchase these days. Meanwhile, if you have a short sample that doesn't require too much knowledge of German, you can send it to me at Jack.Gregory@Autodesk.com. Based on what we can tell so far, it looks like a defect with child-list descendants.
Try accessing the object using
nth(2, Lagerbuechse)
I ran into issues accessing members of child lists using the underscore notation as well, so I tried accessing them using the list accessor function nth(...). Works for me in a short test trying to get the origin of a child list member.
I think the problem here is not accessing a child, but the fact that apparently (we have not replicated it) Intent / ETO is creating a reference that is somehow invalid. There is no reference in the source that matches the error report, apparently.