需要LISP文件的帮助
大家好,我正在尝试运行lisp文件。链接是我想画的。
https://i.hizliresim.com/7q4G25.jpg
当我运行程序时,对话框是打开的。确定后,其工作方式类似于输入圆形命令。
命令列表:
命令:HCK
选择起点圆
指定圆的中心点或:
指定圆的半径或[直径]:;错误:没有函数定义:/DCIR
指定圆的半径或[直径]:
我希望有人能帮我修改代码。
请帮忙。
非常感谢。
lsp文件:
-------------------------------------------
(defun dia_circle(deg ned)
(如果(或(=ned 2)(=ned 1))
(程序
(setq dcir(原子度))
(设置_tile“dia_circleslider”deg)
) ))
(defun dia_circleslider(deg ned)
(如果(或(=ned 2)(=ned 1))
(程序
(setq dcir(原子度))
(set_tile“dia_circle”deg)
) ))
(defun width_circle(deg ned)
(如果(或(=ned 2)(=ned 1))
(程序
(setq wcir(原子度))
(设置_tile“width\u circleslider”deg)
) ))
(defun width_circleslider(deg ned)
(如果(或(=ned 2)(=ned 1))
(程序
(setq wcir(原子度))
(设置_tile“width\u circle”deg)
) ))
(defun edge\u sqr(deg ned)
(如果(或(=ned 2)(=ned 1))
(程序
(setq sqr(原子度))
(设置_tile“edge\u sqrslider”deg)
) ))
(defun edge\u sqrslider(deg ned)
(如果(或(=ned 2)(=ned 1))
(程序
(setq sqr(原子度))
(设置_tile“edge\u sqr”deg)
) ))
(defun width\u sqr(deg ned)
(如果(或(=ned 2)(=ned 1))
(程序
(setq wsqr(原子度))
(设置_tile“width\u sqrslider”deg)
) ))
(defun width\u sqrslider(deg ned)
(如果(或(=ned 2)(=ned 1))
(程序
(setq wsqr(原子度))
(设置_tile“width\u sqr”deg)
) ))
(除油孔(deg ned)
(如果(或(=ned 2)(=ned 1))
(程序
(setq ho(原子度))
(set_tile“holeslider”deg)
) ))
(defun holeslider(deg ned)
(如果(或(=ned 2)(=ned 1))
(程序
(setq ho(原子度))
(set_tile“hole”deg)
) ))
(定义c:hck(/dcl\U id)
(setq dcir 30 wcir 5 sqr 20 wsqr 4 ho 10)
(setq dcl\U id(加载对话框“hck.dcl”))
(if(not(new_dialog“hck”dcl_id))(退出))
(set_tile“dia_circle”(rtos dcir 2 0))
(set_tile“dia_circleslider”(rtos dcir 2 0))
(设置_tile“width\u circle”(rtos wcir 2 0))
(设置_tile“width\u circleslider”(rtos wcir 2 0))
(set_tile“edge_sqr”(rtos sqr 2 0))
(set_tile“edge_sqrslider”(rtos sqr 2 0))
(设置_tile“width\u sqr”(rtos wsqr 2 0))
(设置_tile“width\u sqrslider”(rtos wsqr 2 0))
(set_tile“hole”(rtos ho 2 0))
(set_tile“holeslider”(rtos ho 2 0))
(action\u tile“accept”“done\u dialog”)
(action_tile“dia_circle”“(dia_circle$value$reason)”)
(action_tile“dia_circleslider”“(dia_circleslider$value$reason)”)
(action\u tile“width\u circle”“(width\u circle$value$reason)”)
(action\u tile“width\u circleslider”“(width\u circleslider$value$reason)”)
(action\u tile“edge\u sqr”“(edge\u sqr$value$reason)”)
(action\u tile“edge\u sqrslider”“(edge\u sqrslider$value$reason)”)
(action\u tile“width\u sqr”“(width\u sqr$value$reason)”)
(action\u tile“width\u sqrslider”“(width\u sqrslider$value$reason)”)
(action_tile“hole”“(hole$value$reason)”)
(action_tile“holeslider”“(holeslider$value$reason)”)
(action_tile“cancel”“(exit)”)
(start_对话框)
(unload\u对话框dcl\u id)
;绘制磁盘
(setq pt1(getpoint“\n选择起点”))
(命令“circle”pt1(/cir 2))
(setq e1(entlast))
(命令“extrude”e1“wcir”)
(setq a1(entlast))
;绘制图层
(setq pt2(列表(-car pt1)(/sqr 2))((cadr pt1)(/sqr 2))(+(caddr pt1)wcir)))
(setq pt3(列表(+(car pt2)sqr)(cadr pt2)(caddr pt2)))
(setq pt4(列表(car pt3)(+(cadr pt3)sqr)(caddr pt3)))
(setq pt5(列表(car pt2)(cadr pt4)(caddr pt4)))
(命令“矩形”pt2 pt4)
(setq e2(entlast))
(命令“extrude”e2“wsqr”)
(setq a2(entlast))
(命令“union”a2 a1“”)
(setq a3(entlast))
;洞
(命令“circle”pt1(/ho 2))
(setq e3(entlast))
(命令“extrude“e3”“(+wcir wsqr)”)
(setq a4(entlast))
(命令“subtract”a3“a4”)
(setq a5(entlast))
)
-------------------------------------------
dcl文件:
------------------------------------------
hck:对话框{
标签=“514161014”;
宽度=40;
固定宽度=true;
:boxed_行{
固定宽度=true;
:列{
固定宽度=true;
宽度=20;
:text{value=“圆的直径=”;}
:text{value=“圆的深度=”;}
:text{value=“正方形边缘=”;}
:text{value=“正方形深度=”;}
:text{value=“孔的直径=”;}
}
:列{
宽度=40;
固定宽度=true;
:行{
固定宽度=true;
:编辑框{
key=“直径圆”;
值=“30”;
固定宽度=假;
编辑宽度=10;
}
:滑块{key=“dia\u circleslider”;
数值=30;
最大_值=100;
最小值=5;
大_增量=5;
小_增量=1;
布局=水平;
固定宽度=假;
宽度=30;
对齐=左;
}
}
:行{
固定宽度=true;
:编辑框{
key=“width\u circle”;
值=“5”;
固定宽度=true;
编辑宽度=10;
}
:滑块{key=“width\u circleslider”;
值=5;
最大_值=25;
最小值=1;
大_增量=3;
小_增量=1;
布局=水平;
宽度=30;
}
}
:行{
固定宽度=true;
:编辑框{
key=“edge\u sqr”;
值=“20”;
固定宽度=true;
编辑宽度=10;
}
:滑块{key=“edge\u sqrslider”;
值=20;
最大_值=100;
最小值=3;
大_增量=5;
小_增量=1;
布局=水平;
宽度=30;
}
}
:行{
固定宽度=true;
:编辑框{
key=“width\u sqr”;
值=“4”;
固定宽度=true;
编辑宽度=10;
}
:滑块{key=“width\u sqrslider”;
值=4;
最大_值=25;
最小值=1;
大_增量=3;
小_增量=1;
布局=水平;
宽度=30;
}
}
:行{
固定宽度=true;
:编辑框{
key=“hole”;
值=“10”;
固定宽度=true;
编辑宽度=10;
}
:滑块{key=“holeslider”;
值=10;
最大_值=50;
最小值=1;
大_增量=5;
小_增量=1;
布局=水平;
宽度=30;
}
}
}
}
:boxed_行{
宽度=30;
固定宽度=假;
对齐=居中;
ok\u cancel;}
:boxed_行{
宽度=30;
固定宽度=假;
对齐=居中;
:text{value=“由hck设计”;}
}
}
--------------------------------------------------
欢迎来到CADTutor!发布代码时,需要使用代码标记(#)。
也就是说,在这里的代码中:
在斜线和“cir”之间需要一个空格,但这不是应该是“dcir”吗?
;draw disk
(setq pt1 (getpoint "\nSelect the starting point"))
(command "circle" pt1 (/ dcir 2))
非常感谢你。
我注意到cir应该是dcir,但有空间可以运行 请阅读代码发布指南,并编辑代码以包含在代码标签中。
Your Code Here=
3
页:
[1]