rugaroo 发表于 2017-10-2 20:53:52

C3D 2016标签表达式

好吧,这个可能是外面的人的快速答案。我正在VB .Net for C3D 2016中创建C3D标签表达式,创建表达式有点容易,但是有没有人知道如何将我的一个表达式名称插入到另一个表达式中?
如果我使用say:
Dim _ExpColl As ExpressionCollection
Dim _LblStyleColl As LabelStyleCollection
Dim _Expression As Expression = SomeExpression
_ExpColl = _LblStyleColl.Expressions
_ExpColl.Add("ThisExp", "This is an expression.", "1+" & _Expression.Name)
,我最终会得到一个错误,说表达式无效。现在如果我使用:
Dim _ExpColl As ExpressionCollection
Dim _LblStyleColl As LabelStyleCollection
Dim _Expression As Expression = SomeExpression
_ExpColl = _LblStyleColl.Expressions
_ExpColl.Add("ThisExp", "This is an expression.", "1+" & _Expression.ExpressionString)
整个字符串正确输入,但是文本是多么混乱。无论如何,你们中是否有人知道我如何能够将表达式名称放入我的新表达式中,以便我没有静态信息?
提前致谢。
**** Hidden Message *****

Jeff_M 发表于 2017-10-3 10:47:11

首先,您需要将名称包含在卷括号中:“1+{”&_Expression.Name & "}" 但是,无论如何这都不起作用。在C3D中编辑时,C3D显示为表达式的只是名称,在内部,名称前面有某种标识符。请注意如何使用另一个表达式返回此值,就像您尝试做的那样:ExpressionString“{General Segment End X}-{General Segment Start X}+{abaf6dbfdcd54d3056be879b91ae4849Delta Y}”
此表达式中使用的表达式的实际名称是“Delta Y”。我还没有找到确定该标识符需要是什么的方法...

rugaroo 发表于 2017-10-3 23:30:44

谢谢杰夫,我也试过用卷发,但我明白你的意思了,现在我将它进一步细分,列出所有属性。考虑到你可以有数百个相同的表达式,这也是有意义的……不知道为什么会这样,但是是的。我又找了一些我能找到的信息,但到目前为止运气不好……你认为我们可以通过ADN得到回复吗?

rugaroo 发表于 2017-10-8 23:32:01

好的,所以我在过去的一周里一直在玩这个游戏,我真的很想扔一些东西。我尽我所能地把它拆了下来,没有被困在兔子洞里,但还是没有运气。请听我说一分钟,看看这些是否有意义
所有内置表达式都没有唯一标识符。这些都是硬编码的,因此永远不会更改。因此,仔细想想,C3D数据库中是否有任何字典可以容纳用户创建的表达式?我们可以获得自定义表达式的哈希代码,但不确定这是否有多大帮助,但我假设有一种方法可以交叉引用哈希代码以找到唯一标识符<我几乎认为这是一个大海捞针的游戏,但我们甚至不知道是否真的有针要找,或者它是否锁在某个地方。我终于安装了C3D 2018,所以我可能会尝试看看最新版本中是否存在相同的问题,或者他们是否使其更易于访问,但考虑到我需要它16年,这没有多大帮助。
页: [1]
查看完整版本: C3D 2016标签表达式