VectorDraw Developer Framework试用版下载
点开本篇文章,是否对矢量图形工具感兴趣呢看看最新的矢量图形工具测评吧!点击此处>>即可直达哦!
问:
如何在图形中保存和加载OsnapMode值需要保存osnap模式的值,然后在打开图形时读取该值并将其重新设置。
答:
通过将xproperty添加到包含OSNAPMode值的0层,您可以轻松地做到这一点,无法删除第0层,因此该xproperty也将不会被其他应用程序删除。
请参见下面的示例代码:
private void button3_Click(object sender, EventArgs e){ vdDocument doc = vdFramedControl1.BaseControl.ActiveDocument; doc.New(); vdCircle cir = new vdCircle(doc, new gPoint(2, 2), 2); doc.Model.Entities.AddItem(cir); // JUST add a simple object doc.osnapMode = OsnapMode.TANG | OsnapMode.CEN | OsnapMode.END ; // set the osnap mode string str_Osnap = doc.osnapMode.ToString(); MessageBox.Show(str_Osnap); vdLayer lay0 =doc.Layers.FindName("0"); // always exist in the document and cannot be deleted VectorDraw.Professional.vdObjects.vdXProperty xprop = new VectorDraw.Professional.vdObjects.vdXProperty(); xprop.Name = "str_Osnap_Mode";// and add it to layer 0 as xproperty xprop.PropValue = str_Osnap; lay0.XProperties.AddItem(xprop); doc.SaveAs(@"c:test.vdcl");} private void button4_Click(object sender, EventArgs e){ vdDocument doc = vdFramedControl1.BaseControl.ActiveDocument; doc.New(); doc.OnAfterOpenDocument += new vdDocument.AfterOpenDocument(doc_OnAfterOpenDocument); doc.Open(@"c:test.vdcl");} void doc_OnAfterOpenDocument(object sender){ vdDocument doc = vdFramedControl1.BaseControl.ActiveDocument; vdLayer lay0 = doc.Layers.FindName("0"); VectorDraw.Professional.vdObjects.vdXProperty xprop = lay0.XProperties.FindName("str_Osnap_Mode"); if (xprop != null) { doc.osnapMode = OsnapMode.NONE; string value = xprop.PropValue as string; if (value.Contains("END")) doc.osnapMode = doc.osnapMode | OsnapMode.END; if (value.Contains("MID")) doc.osnapMode = doc.osnapMode | OsnapMode.MID; if (value.Contains("CEN")) doc.osnapMode = doc.osnapMode | OsnapMode.CEN; if (value.Contains("INS")) doc.osnapMode = doc.osnapMode | OsnapMode.INS; if (value.Contains("PER")) doc.osnapMode = doc.osnapMode | OsnapMode.PER; if (value.Contains("NEA")) doc.osnapMode = doc.osnapMode | OsnapMode.NEA; if (value.Contains("INTERS")) doc.osnapMode = doc.osnapMode | OsnapMode.INTERS; if (value.Contains("NODE")) doc.osnapMode = doc.osnapMode | OsnapMode.NODE; if (value.Contains("QUA")) doc.osnapMode = doc.osnapMode | OsnapMode.QUA; if (value.Contains("TANG")) doc.osnapMode = doc.osnapMode | OsnapMode.TANG; if (value.Contains("APPARENTINT")) doc.osnapMode = doc.osnapMode | OsnapMode.APPARENTINT; if (value.Contains("EXTENSION")) doc.osnapMode = doc.osnapMode | OsnapMode.EXTENSION; if (value.Contains("ALL")) doc.osnapMode = doc.osnapMode | OsnapMode.ALL; if (value.Contains("DISABLE")) doc.osnapMode = doc.osnapMode | OsnapMode.DISABLE; }}
对于以上问答,如果您有任何的疑惑都可以在评论区留言,我们会及时回复。此系列的问答教程我们会持续更新,如果您感兴趣,可以多多关注本教程。
热门文章推荐:
-
如何排除GroundSurface对象的三角形区域/strong>
-
复杂自定义对象的入门指南
-
点击此处还有VectorDraw Developer Framework的demo示例等着你来体验哦!
如果您对想要购买正版授权VectorDraw Developer Framework(VDF),可以联系在线客服>>咨询相关问题。
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!