我的CAD是2004版的,谁能不能给个2008版的指令LISP,我想加载进去,不想改版本
发布网友
发布时间:2022-05-02 01:09
我来回答
共1个回答
热心网友
时间:2023-10-08 23:08
(defun c:dq ( / &mod )
(if (null vlax-mp-object) (vl-load-com) )
(if (null &mod) (setq &mod (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object)))) )
(if (setq &len (entsel "\n选择要测量斜度的线段 "))
(progn
(setq @pts (cadr &len) &len (vlax-ename->vla-object (car &len)))
(setq @pto (vlax-curve-getclosestpointto &len @pts))
(setq @pt1 (vlax-curve-getclosestpointto &len (polar @pts (* pi 0.5) 0.001)))
(setq @pt2 (vlax-curve-getclosestpointto &len (polar @pts (* pi 1.5) 0.001)))
(setq #ang (min (angle @pt1 @pt2) (angle @pt2 @pt1)))
(setq #j T &mte nil &lea nil)
(while #j
(setq @jj (grread 1 4 1) #j (car @jj) @j (cadr @jj))
(cond
((= #j 5) ($dq-moveaction) )
((= #j 3) ($dq-clickleft) )
((= #j 12) ($dq-clickright) )
)
)
)
)
(princ)
)
(defun $dq-clickleft ( )
(setq #j nil) (princ " OK!")
)
(defun $dq-clickright ( )
(if (and &mte (null (vlax-erased-p &mte)))
(vla-erase &mte)
)
(if (and &lea (null (vlax-erased-p &lea)))
(vla-erase &lea)
)
(setq #j nil) (princ " Cancel!")
)
(defun $dq-leaderpoint ( pts / lis dou )
(setq lis (apply 'append (mapcar '(lambda (x) (list (car x) (cadr x) (caddr x))) pts)))
(setq dou (vlax-make-safearray vlax-vbdouble (cons 0 (1- (* 3 (length pts))))))
(vlax-make-variant (vlax-safearray-fill dou lis))
)
(defun $dq-moveaction ( )
(if (> (setq #ang (/ (* #ang 180) pi)) 90)
(setq #ang (- 180 #ang))
)
(if (or (null &mte) (vlax-erased-p &mte))
(progn
(setq &mte (vla-addmtext &mod (vlax-3d-point @j) 0 (strcat (rtos #ang 2 (getvar "DIMDEC")) "%%D")))
(vla-put-color &mte (getvar "DIMCLRT"))
(vla-put-stylename &mte (getvar "DIMTXSTY"))
(vla-put-height &mte (getvar "DIMTXT"))
)
(vla-put-insertionpoint &mte (vlax-3d-point @j))
)
(if (> (car @j) (car @pto))
(if (< (cadr @j) (cadr @pto))
(if (> (angle @pto @j) (angle @j @pto))
(vla-put-attachmentpoint &mte 4)
(vla-put-attachmentpoint &mte 6)
)
(if (< (angle @pto @j) (angle @j @pto))
(vla-put-attachmentpoint &mte 4)
(vla-put-attachmentpoint &mte 6)
)
)
(if (> (cadr @j) (cadr @pto))
(if (> (angle @pto @j) (angle @j @pto))
(vla-put-attachmentpoint &mte 4)
(vla-put-attachmentpoint &mte 6)
)
(if (< (angle @pto @j) (angle @j @pto))
(vla-put-attachmentpoint &mte 4)
(vla-put-attachmentpoint &mte 6)
)
)
)
(if (or (null &lea) (vlax-erased-p &lea))
(setq &lea (vla-addleader &mod ($dq-leaderpoint (list @pto @j)) &mte aclinewitharrow))
(vla-put-Coordinates &lea ($dq-leaderpoint (list @pto @j)))
)
(vla-put-verticaltextposition &lea 0)
(vla-update &lea)
)
;;;帮人写的选定斜线用引线加文字来标注角度的程序,不短了吧
追问我要的是那些加载指令的哦,比如说螺旋,总之04版没有的。
cad2004 或者CAD2008每次运行后产生一个acad文件,非常讨厌,如何...
进入C:\Documents and Settings\用户名\Application Data\Autodesk\AutoCAD 2006(或AutoCAD2004)\R16.2\chs\Support目录,用记事本打开该目录下的所有*.mnl文件,手动删除与附件1相同的代码(一般都在文件末尾),然后保存。并将修改后的所有*.mnl文件属性设置为“只读”。进入CAD安装目录下的support目...
cad2007的lisp加载文件怎么改能加载到cad2008上
打开CAD2008 点工具,AUTOLISP 加载 然后选取要加载的LISP文件就可以了 上面的方法,加一次后,关掉CAD了,还要重要加载才可以用 如果同时在启动组里加也加载这个文件,再次打开CAD时,就不用再加载了
怎么在启动CAD时自动加载Lisp的工具和插件
方法1:添加到启动组 CAD的工具插件都可以通过appload(ap)命令来加载,在弹出的加载卸载应用程序对话框中,可以找到启动组。不同CAD不一样,AutoCAD是在启动组下面有一个内容按钮,点击此按钮就可以需要启动时自动加载的程序加进去;浩辰CAD有一个添加到启动组按钮,可以将历史记录列表中加载过的程序添加...
可以帮我用LISP语言编CAD要用的密码程序,听说这可以让别人打开CAD,只...
这个插件有你说的东东(加密),只看到内容,不可以修改,你自己要做好备份 《黄河工具集》图的上角有联系的
CAD里面的lisp有什么作用啊,怎么用,要具体的,能让我明白加分
1. 可以使用APPLOAD命令,然后去找到要加载的LISP文件,加载即可。2. 可以自己从文件管理器把LISP文件拖动到ACAD的图形窗口,也可以加载 3. 在命令行后用,(load "c:\\temp\\xxx.lsp")也可以加载,路径名请输入实际的路径。另:对于一个LSP程序,(defun 后面的既是命令或者函数,一般程序应该有提示...
Autocad中,我用Lisp写了一个命令加载到cad里去以后把原来系统自带的命令...
点下上方的放弃按钮键
谁能帮我写个cad的lisp程序?
(defun c:jxzxx()(setq cmd (getvar "cmdecho"))(setq osm (getvar "osmode"))(setvar "cmdecho" 0)(command "undo" "be")(If (progn (princ "请选取矩形:")(setq ssa (ssget":S" '((0 . "lwpolyline") (90 . 4) (70 . 1)))(progn (setq dxf (entget (ssname ssa 0)...
lisp程序加载成功后,输入命令提示未知命令,之前运行可以用,然后就不行...
用记事本打开程序,找到(setvar "blipmode" 0),删除了。点击保存,测试一下看看能不能使用。修改程序之前,先保存原件,防止出现意外。可能原因,不小心修改了程序里面的内容,输入法用【中文】输入法。程序里面打字,必须使用英文输入法。比如刮弧。
我的cad2008使用MENULOAD命令后出来的对话框中没有菜单组和菜单栏选项...
本来就这样好不?如果加载你就点击浏览,如果卸载,你就选中已加载项,然后点击卸载就OK了。
谁能给我个 自动计算cad图中”一种线“总长的LISP
不知道你的“一种线”是什么?我这有一个选择一些直线,统计总长度的LISP,供你参考,有问题可追问。(defun c:tx (/ a b c d e m n n1) ;选择直线,统计总长度 (setq a (ssget)) ;得到选择集 (setq n 0) ;设置循环变量初值,同时也是遍历选择集的指针 (setq m 0) ;设置...