Delphi连接AutoCAD_计算任意线条的长度宏的嵌套
Dim SelectionSet As AcadSelectionSet
Dim lSpLine As AcadSpline
Dim sysVarName As String
Dim sysVarData As Variant
Dim DataType As Integer
ThisDrawing.SelectionSets.Item(0).Delete
Set SelectionSet = ThisDrawing.SelectionSets.Add("New_SelectionSet")
SelectionSet.SelectOnScreen
ThisDrawing.SetVariable "USERR1", 1.5
ThisDrawing.SendCommand "(vl-load-com)" & vbCr
Dim StrCom As String
StrCom = "(setvar " & Chr(34) & "USERR1" & Chr(34) & Chr(32) & "(vlax-curve-getdistatparam (vlax-ename->vla-object (handent " & Chr(34) & lSpLine.Handle & Chr(34) & ")) (vlax-curve-getendparam (vlax-ename->vla-object (handent " & Chr(34) & lSpLine.Handle & Chr(34) & ")))))" & vbCr
ThisDrawing.SendCommand StrCom
MsgBox StrCom
sysVarData = ThisDrawing.GetVariable("USERR1")
MsgBox sysVarData
End Sub
var
lTempVariant:OleVariant;
lTempVar:wideString;
begin
lTempVariant:=0;
lTempVar:='USERR1';
pCadDoc.SetVariable(lTempVar,lTempVariant);
lTempVar:='(vl-load-com)' + #13;
pCadDoc.SendCommand(lTempVar);
'(vlax-curve-getdistatparam (vlax-ename->vla-object '+
'(handent '+ Chr(34) +IntToStr(pHandle)+ Chr(34)+')) '+
'(vlax-curve-getendparam (vlax-ename->vla-object '+
'(handent '+ Chr(34) +IntToStr(pHandle)+Chr(34) +
')))))'+#13;
pCadDoc.SendCommand(lTempVar);
Result:=pCadDoc.GetVariable('USERR1');
end;
体会:
The object or objects this method applies to.
The name of the system variable to set.
The new value for the specified system variable.
Sub Example_SetVariable()' This example sets various system variables, each of' a different data type.Dim sysVarName As StringDim sysVarData As VariantDim DataType As Integer' Set FILEDIA system variable (data type Integer) to 1. NOTE that' you need to declare a variable as the data type of system variable,' assign data to that variable and then make it variant typeDim intData As IntegersysVarName = "FILEDIA"intData = 1sysVarData = intData ' Integer dataThisDrawing.SetVariable sysVarName, sysVarData' Check the variable using GetVariablesysVarData = ThisDrawing.GetVariable(sysVarName)MsgBox sysVarName & " = " & sysVarData, , "SetVariable Example"' Set DCTCUST system variable (data type String) to "My Custom Dictionary"Dim strData As StringsysVarName = "DCTCUST"strData = "My Custom Dictionary"sysVarData = strData ' String dataThisDrawing.SetVariable sysVarName, sysVarData' Check the variable using GetVariablesysVarData = ThisDrawing.GetVariable(sysVarName)MsgBox sysVarName & " = " & sysVarData, , "SetVariable Example"' Set CHAMFERA system variable (data type Double) to 1.5Dim dataDouble As DoublesysVarName = "CHAMFERA"dataDouble = 1.5sysVarData = dataDouble ' Double dataThisDrawing.SetVariable sysVarName, sysVarData' Check the variable using GetVariablesysVarData = ThisDrawing.GetVariable(sysVarName)MsgBox sysVarName & " = " & sysVarData, , "SetVariable Example"' Set INSBASE system variable (data type array) to (1.0,1.0,0)Dim arrayData3D(0 To 2) As DoublesysVarName = "INSBASE"arrayData3D(0) = 1#: arrayData3D(1) = 1#: arrayData3D(2) = 0sysVarData = arrayData3D ' 3D array dataThisDrawing.SetVariable sysVarName, sysVarData' Check the variable using GetVariablesysVarData = ThisDrawing.GetVariable(sysVarName)MsgBox sysVarName & " = " & sysVarData(0) & ", " & sysVarData(1) & ", " & sysVarData(2), , "SetVariable Example"End Sub
转载于:https://blog.51cto.com/bigpower/92208
Delphi连接AutoCAD_计算任意线条的长度宏的嵌套相关推荐
- vue+d3.js计算任意多边形面积
效果图 代码 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF ...
- arcgisengine计算线要素总长度_弱电监控工程报价清单中,线材及辅材该如何计算?...
在做方案过程中,经常遇到线材配置如:线材长度计算.线材选型.管槽选型等,根据以上问题现整理出关于线材配置方法. 一.线缆长度的估算 线缆长度估算分为有图纸和没图纸两种情况: 1.有图纸情况 在图纸上找 ...
- 计算任意多边形的面积(Android)
需求 线段:算出地图上线段的实际长度 面积:算出地图上不规则多边形的实际面积 解决方案 1.线段的实际长度 直接使用高德的AMapUtils.calculateLineDistance(latLng, ...
- 矩阵元算法科学家谢翔: Rosetta如何连接隐私计算与AI?
允风 发自 凹非寺 量子位 编辑 | 公众号 QbitAI 大家好,我是谢翔,来自矩阵元.今天很高兴能够与大家分享矩阵元最近的一些研究成果.主要的方向是隐私计算,以及基于密码学的隐私开源框架-Rose ...
- 空间连接时计算总和_【数据技术】城市功能混合程度计算
01混合度计算◐ 1.1 概念与计算 熵:信息论中度量随机事件在某项实验中的不确定程度的概念. 计算公式: H(X)表示随机变量X的熵; Pi为X取Xi的概率 .显然 , 熵值越大 , 不肯定性越大 ...
- Delphi的实数计算结果中只保留2位小数
Delphi的实数计算结果中如何只保留2位小数 ━━━━━━━━━━━━━━━━━━━━━━━━━━ 你可以使用这样的办法: x := Round(x * 100) / 100; ...
- 顺序表循环队列:创建初始化、入队、出队、获取队列头数据、计算队列有效数据长度...
/* 顺序表队列 初始化 入队列 出队列 取队列头数据 计算队列有效长度 */ #include <stdio.h> #include &l ...
- T-SQL 2 Tips: 1.计算任意两日期之间的周一到周日分别各有几个! 2.根据出生日期计算精确年龄!...
这两个小技巧,不写不知道,一写吓一跳! 都是看似简单,实际做起来就懵,得仔细想一想,才能写对! 凡是有日期运算的程序都要细心哦! 先说第二个: 2.根据出生日期精确计算年龄! 所谓计算精确年龄就是 ...
- Python:用生成器的方式计算任意起止范围内质数的和。
用生成器的方式计算任意起止范围内质数的和. (质数,又称素数,是大于 1 的自然数,除了 1 和它本身外,不能被其他自然数整除.) def judge(num):if num == 1:return ...
最新文章
- 大脑进化追不上社会文化:化石和脱氧核糖核酸证明人类大脑进化比社会慢
- 简述css布局技术的特点,div+css布局技术漫谈
- Redis:安装、配置、操作和简单代码实例(C语言Client端)[转]
- 64位Ubuntu kylin 16.04安装wine QQ
- 2017 年最受欢迎的 10个编程挑战网站
- Debian下安装搜狗拼音输入法
- Android 打开WIFI并快速获取WIFI的信息
- VMware Workstation 16.1 macOS unlocker 3.0.3
- WPF中直接打开网页方法总结
- Excel之vlookup函数的模糊匹配和精准匹配
- 渗透测试-内网横向MS-17010利用方法总结
- 一款非常便捷好用的mac办公工具:WPS Office 2020
- 数据分析 | 数据预处理(归一化和标准化)
- [渝粤教育] 泰州学院 信息技术基础 参考 资料
- 计算机网络中的基本器件(网卡,集线器,交换机,路由器)
- 摆脱五彩斑斓的黑,成为七彩程序员!
- Mac应用程序无法打开提示不明开发者?别着急看这里
- Android——一个简单的记账本APP
- easyexcel的使用-个人笔记
- 主窗口(08):【类】QMdiSubWindow [官翻]
热门文章
- OpenCV使用F变换进行修补
- OpenGL 基于PBR的specular textured 镜面纹理的实例
- C语言数据类型本质分析
- 细粒度图像分类_支付宝AI大幅提升细粒度图像分类识别精度:一眼看穿万物细微差异...
- flink报错:Error: Static methods in interface require -target:jvm-1.8 已解决
- overridePendingTransition的简介
- 1.进程间的关系:终端,网络设备
- Java与C#平台通信 WCF CXF SOAP
- MULE ESB简介
- 统计每年入职的员工个数