其他
文字元素(TextElement)
在创建文字元素时,我们需要首先定义文本块的属性,其中包括文字样式,文字段落属性等,定义后在对文本块中输出的内容进行输入,最后生成文本元素
public static void CmdCreateText(string unparsed)
{
DgnFile dgnFile = Session.Instance.GetActiveDgnFile();//获得创建文本元素的文件
DgnModel dgnModel = Session.Instance.GetActiveDgnModel();//获得创建文本元素的模型空间
TextBlockProperties txtBlockProp = new TextBlockProperties(dgnModel);//创建文本属性
txtBlockProp.IsViewIndependent = false;//设置文本非独立于视图
ParagraphProperties paraProp = new ParagraphProperties(dgnModel);//创建段落属性
DgnTextStyle txtStyle = DgnTextStyle.GetSettings(dgnFile);//从激活的文件中获得文字样式
RunProperties runProp = new RunProperties(txtStyle, dgnModel);//创建运行属性
TextBlock txtBlock = new TextBlock(txtBlockProp, paraProp, runProp, dgnModel);//创建文本块
txtBlock.AppendText("This is a textBlock Element");//设置文本块文字内容
TextElement text = (TextElement) TextElement.CreateElement(null, txtBlock);//创建文本元素
text.AddToModel();//将生成的文本元素写入模型
}
标签元素(TagElement)
创建标签元素需要首先确定标签依附的对象,在本案例中我们首先创建了一个用于依附的线元素,然后创建标签的属性定义,其中包含标签名称,标签值等,然后将标签集写入模型。最后在创建标签元素时将用于依附的线元素,标签定义输入生成结果
public static void CmdCreateTag(string unparsed)
{
DgnFile dgnFile = Session.Instance.GetActiveDgnFile();//获得创建文本元素的文件
DgnModel dgnModel = Session.Instance.GetActiveDgnModel();//获得创建文本元素的模型空间
LineElement line = new LineElement(dgnModel, null, new DSegment3d(0, 0, 0, 50000, 0, 0));//创建需要标注的直线
line.AddToModel();//将直线写入模型
DgnTagDefinition[] tagDefs = new DgnTagDefinition[1];//创建标签定义数组
tagDefs[0] = new DgnTagDefinition();//创建标签定义
tagDefs[0].Name = "Line";//设置标签名称
tagDefs[0].TagDataType = TagType.Double;//设置标签类型
tagDefs[0].Value = 10.0;//设置标签值
TagSetElement tagSet = new TagSetElement(dgnModel, tagDefs, tagDefs