求一个autolisp程序,这个程序有以下要求

如图所示此为建筑的梁500×600,用autolisp画出两个矩形;要求动作:1.选择直线或点,附带(设置);(怎么设置下面提)(第一次选择直线,第二次默认选择直线,选择... 如图所示

此为建筑的梁500×600,用autolisp画出两个矩形;
要求动作:1.选择直线或点,附带(设置);(怎么设置下面提)(第一次选择直线,第二次默认选择直线,选择点,第二次选择默认为点选择)
2.输入梁的宽度(如500);
3.输入梁的高度(如600),
4.就画出两个矩形,矩形位置如图所示,大的矩形图层为(A002),小的矩形图层为(A003);
说明:
1)需要新建两个图层(A002)(A003),颜色洋红和黄;线型continuous,线宽为0,如果已经有图层就不新建;
2)大矩形长度为直线的长度,宽度=梁宽+梁高×2;其中一条边与选择的线重合,图层为(A002);
3)小矩形长度=梁高×2,宽度=梁宽,其中两条边与大矩形重合;图层为A003;
(说明一下,我这样画的话,用填充的方法,选择对象,那么小矩形的面积就不会被填充,然后就可以查询得到填充的面积了;)
(当然你有好的办法的话,直接画出大的多边形:“就是扣除小矩形的形状”,我有工具可以直接得到多段线围的所有统计面积,如果画出大的多边形,小矩型就不画;我希望是这个形状)
(当然如果直接画大的多边形的话,有一个缺点,就是,“梁的长度”小于“梁的宽度”的时候,这个图形的面积就会产生变化,不是=大矩形面积- 小矩形面积了;画两个矩形的话,我可以把小矩形移动到别的矩形里面,计算的时候“填充”就可以扣除这个面积;但是用填充计算面积的话,也有缺点,如果图形太多,超过一定的数量,就不可以计算,所以希望可以在这个情况下:梁的长度小于等于梁的宽度的时候,直接画出两个矩形)
4)关于设置:在默认的情况下,需要扣除小矩形的面积=梁宽×(梁高×2);有的时候只需要扣除小矩形面积=梁宽×梁高;有的时候不扣除小矩形;就这三个情况;设置一次,第二次就默认上一次设置;
希望可以得到你的帮助!
补充一下:输入的数字(如500;650);如果第二次不输入,就默认上一次的输入;
以上图形我可以用AutoCAD里面的(动作录制器)画出,比如500×650的梁,我编辑命令为5065,那么选择直线,就画出,问题是这个动作会被别的图形干扰,有的时候会出错;用autolisp画的话,就不会被别的图形干扰;
当然,输入什么的步骤越小越好,比如说输入的数字是500.650,就表示两个数据,中间的点就是他们的划分点;
展开
 我来答
EasyCAD
2013-08-05 · 超过13用户采纳过TA的回答
知道答主
回答量:15
采纳率:100%
帮助的人:30.2万
展开全部

我在编写这个程序了,因为要输入的数值有两个,而且有三个不同的设定方式,及两种选择模式,所以我编写的是带有储存数据功能的对话框程序。目前界面如下图所示:

另外

“当然你有好的办法的话,直接画出大的多边形:“就是扣除小矩形的形状”,我有工具可以直接得到多段线围的所有统计面积,如果画出大的多边形,小矩型就不画;我希望是这个形状”

这段的意思是?程序最终要不要画小矩形是看你说的要不要扣除小矩形面积么?如果不扣除就不用画?

追问

追问有字数限制

来自:求助得到的回答
意法半导体(中国)投资有限公司
2023-06-12 广告
STM32F103C8T6是一款基于ARM Cortex-M3内核的微控制器,具有以下基本参数:1. 工作频率:72MHz2. 外部时钟:最高可达120MHz3. 存储器容量:64K bytes4. 数据总线宽度:32位5. 输入/输出端口... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
LISP2DCL
2013-08-07 · TA获得超过241个赞
知道答主
回答量:330
采纳率:0%
帮助的人:120万
展开全部
好大的代码,看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式