AutoCAD二次开发(.Net)之获取LSP变量的值
2018-01-04 18:03
344 查看
[System.Security.SuppressUnmanagedCodeSecurity] [DllImport("accore.dll", EntryPoint = "acedPutSym", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] extern static private int acedPutSym(string args, IntPtr result); /// <summary> /// Set a LISP variable value. /// </summary> /// <param name="name">The variable name.</param> /// <param name="rb">The variable value</param> public static void SetLispSym(string name, ResultBuffer rb) { acedPutSym(name, rb.UnmanagedObject); } [System.Security.SuppressUnmanagedCodeSecurity] [DllImport("accore.dll", EntryPoint = "acedGetSym", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] extern static private int acedGetSym(string args, out IntPtr result); /// <summary> /// Get a LISP variable value. /// </summary> /// <param name="name">The variable name.</param> /// <returns>The variable value or null if failed.</returns> public static ResultBuffer GetLispSym(string name) { IntPtr ip = IntPtr.Zero; int status = acedGetSym(name, out ip); if (status == (int)PromptStatus.OK && ip != IntPtr.Zero) { return ResultBuffer.Create(ip, true); } return null; } //当然,要读取这个变量,首先要设置或者加载这个变量 ResultBuffer rb1114c = GetLispSym("dydj"); float intRetio=1; foreach (TypedValue val in (System.Collections.IEnumerable)rb1114c) { intRetio = (float)Convert.ToDouble((val.Value.ToString()));//根据你设置的类型进行转换 }
相关文章推荐
- AutoCAD二次开发(.Net)之LSP变量赋值
- AutoCAD二次开发(.Net)之块的操作(获取名称、修改名称)
- AutoCAD二次开发(.Net)之DBDictionary信息的添加与获取
- AutoCAD二次开发(.Net)之多文本(MText)创建
- AutoCAD.NET 二次开发(一) 自定义菜单及自动加载
- AutoCAD二次开发(.Net)之多边形交叉选择
- 发布一个ObjectARX .NET AutoCAD 二次开发 添加各种实体的类
- AutoCAD 二次开发:获取填充边界
- AutoCad .NET(C#) 二次开发
- AutoCAD .Net 二次开发 VisualStudio 及 .Net Framework 选择
- AutoCAD二次开发之.net API学习笔…
- AutoCAD二次开发(.Net)之设置MText字体(1)
- AutoCAD.NET 二次开发(二) 自动替换缺失字体
- AutoCAD二次开发之.net API学习笔…
- AutoCAD二次开发——AutoCAD.NET API开发环境搭建
- C#.NET平台的AutoCAD二次开发
- AutoCAD二次开发(C#.Net)之字符串转换成ObjectId
- AutoCAD.net/Map 3D/AIMS/MapGuide/Civil 3D二次开发学习指南
- AutoCAD二次开发(.Net)之创建图层Layer
- .NET AutoCAD二次开发之路(三、圆弧篇)