首页 > 其他分享 >在AutoCAD中分别用Lisp与VBA实现矩形拖画

在AutoCAD中分别用Lisp与VBA实现矩形拖画

时间:2023-11-16 22:13:52浏览次数:29  
标签:halfLength VBA AutoCAD Lisp list yy xx setq halfWidth

 1 ;用Lisp实现鼠标拖画
 2 (defun c:grr(/ halfLength halfWidth gr code p xx yy p1x p1y p2x p2y p3x p3y p4x p4y )
 3     (setq L(getreal "请输入矩形长度:"))  
 4     (setq W(getreal "请输入矩形宽度:"))
 5     (while (/= code 3)
 6     (setq gr(grread 1 15 0) code(car gr)  p(cadr gr)  xx(car p)  yy(cadr p))
 7     (setq halfLength (/ L 2))
 8     (setq halfWidth (/ W 2))
 9     (setq p1x(- xx halfLength))
10     (setq p1y(- yy halfWidth))
11     (setq p2x(+ xx halfLength))
12     (setq p2y(- yy halfWidth))
13     (setq p3x(+ xx halfLength))
14     (setq p3y(+ yy halfWidth))
15     (setq p4x(- xx halfLength))
16     (setq p4y(+ yy halfWidth))
17         (cond
18             ((= code 5)    (redraw)
19                     (grvecs        (list
20                     81 (list  p1x    p1y) (list  p2x p2y)  ;81是颜色索引
21                     81 (list  p2x    p2y) (list  p3x p3y)
22                     81 (list  p3x    p3y) (list  p4x p4y)
23                     81 (list  p4x    p4y) (list  p1x p1y)
24                                )
25             
26                 )
27             )
28         )
29     )
30 )

如果要用VBA实现,则将上述代码存为x.lsp后载入AutoCAD,然后写以下即可:

1 Dim L as double
2 Dim W as double
3 L=500
4 W=300
5 ThisDrawing.SendCommand "grr" & vbCr & L & vbCr & W & vbCr

效果就是一个矩形跟随光标移动:

 

标签:halfLength,VBA,AutoCAD,Lisp,list,yy,xx,setq,halfWidth
From: https://www.cnblogs.com/birdflying/p/17837393.html

相关文章

  • 连载随笔:VBA工具No.2:APOX输入数据辅助制作工具
     一、需求背景        2009年,3G(TD-SCDMA)工程大规模上线,无线网络规划工程师在进行TD-SCDMA无线网络仿真工作中,经常为制作APOX(中国移动设计院的3G仿真软件)仿真输入数据伤浪费了宝贵的时间。    通过APOX输入数据辅助制作工具工具可快速实现仿真输入数据格......
  • 连载随笔:第一个VBA工具的诞生-站间距计算工具(二)
    四、工具打磨     2008年,结合大家的使用反馈,我不断地修改BUG,调整适用功能,到2008年6月16日发布了V2.4版本。      V2.4版本还增加了3种输出格式。     2008年我到了南昌,由于工作负荷的增加,VBA编程就偃旗息鼓了一段时间。2013年的时候,由于4G(TD-L......
  • EXCEL VBA自动设置坐标轴上下限
    下面的效果图展示了,将图表Y轴的的最大/最小值进行了动态设置Y轴最大值为:数据源最大值+2Y轴最小值为:数据源最小值-2通过上面的方法,数据源变化,那么Y轴的上下限也会自动变化 代码部分关键字MinimumScale设置Y轴的最小值关键字MaximumScale设置Y轴的最小值通过Max与Min......
  • vba 处理word 的一些代码:修改公式(1--1)为(1-1)
    SubConvertSpecificEquationsToText()DimoEqAsOMathDimeqTextAsStringDimregExAsObjectSetregEx=CreateObject("VBScript.RegExp")'DefinetheregularexpressionpatternregEx.Pattern="(\d.?\d)"'Patternfor(di......
  • 【Mac版CAD下载】AutoCAD 2022 for Mac中文汉化版安装激活步骤
    AutodeskAutoCAD2022Mac是一款运行在mac平台上的二维和三维CAD设计软件,AutodeskAutoCAD2022Mac具有良好的用户界面,其广泛的适应性可以在各种操作系统支持的微型计算机和工作站上运行,AutodeskAutoCAD2022Mac主要用于二维绘图、详细绘制、设计文档和基本三维设计,可大幅度提......
  • VBA获取文件夹下所有文件名或者文件夹名
    VBA获取文件夹下所有文件名或者文件夹名1,新建excel宏2,在sheet中添加宏执行按钮3,设置按钮执行的代码名VBA代码如下:`点击查看代码'选择文件按钮程序PrivateSubCommandButton1_Click()Application.ScreenUpdating=FalseCallChooseApplication.ScreenUpdatin......
  • 开发的最强大的autocad shx字库编辑器
    (1)支持shx,shp的autocad字库的导入;(2)支持shp字库的导出;(3)支持shx 14种命令(4)支持一笔画绘图以及导入dxf,plt图形创建字;(5)可以把当前字导出dxf文件;(6)支持undoredo指令;(7)支持交互式修改;(8)支持所有shx的格式,包括shpe,unicode,bigfont; ......
  • AutoCAD2023软件安装教程及安装包下载
    由“Autodesk”公司研发推出的AutoCAD202364位简体中文版已于2022年3月已经正式发布,AutoCAD是一款全球领先的计算机辅助设计(CAD)软件,全新的2023版本拥有着非常强大的渲染、绘图和三维打印功能,还提供了动态块、文本设定、数据提取、三维导航、截面平面、DWG比较、云存储连接......
  • AutoCAD Civil3D 2023安装图文教程及下载
    Civil3D设计软件是土木工程师的首选软件,也是民用大众领域的综合解决方案,同时Civil3D提供了AutoCAD和AutoCADMap3D的功能,该软件使用基于模型的环境,以便做出更好的设计决策并提高项目质量,通过以设计为导向的计划生产方法简化文档编,利用BIM(建筑信息模型)的强大功能,实现更好的设计......
  • Qt ObjectARX实现获取AutoCAD的实体的DXF数据
    ObjectARX为AutoCAD的二次开发工具。准备工作:1)Visualstudio20172)QT4.12.23)AutoCAD20204)ObjectArx2020SDK5)ObjectArxWizard2020向导以上是需要用到的软件和环境,本文对环境搭建不做阐述,重在记录实现功能。实现的功能介绍:AutoCAD命令行中有自带获取实体数......