请大家帮我看看这段程序 自动图框
(defun c:hk()(setq mylayer (getvar "clayer"))
(setq layname1 (substr mylayer 1 2))
(setq layname2 (strcat layname1 "dim"))
(if(setq ed1 (tblsearch "LAYER" layname2))
(progn
(setq ed2 (cdr (assoc 70 ed1)))
(cond
((= ed2 0)(command "layer" "on" layname2 ""))
((= ed2 1)(command "layer" "t" layname2 "on" layname2 ""))
((= ed2 4)(command "layer" "u" layname2 "on" layname2 ""))
((= ed2 5)(progn (command "layer" "t"str3 "u" layname2 "on" layname2 "")))
)
)
(setq layname2 "dim")
)
(command "layer" "s" layname2 "")
(setq pt1 (getpoint "图形左上角:\n"))
(setq pt2 (getcorner pt1 "图形右下角:\n"))
(setq disx (abs (- (car pt1) (car pt2))))
(setq disy (abs (- (cadr pt1) (cadr pt2))))
(setq acx(/ disx 780.00))
(setq acy(/ disy 500.00))
(if (> acy acx)
(setq acx acy)
)
(setq acx (*(fix (+ (* acx 10) 0.9999)) 0.1))
(setq acc (rtos acx 2 1))
(setq pt0 (list (/ (+ (car pt1 ) (car pt2) (* (- 0 8) acx)) 2.00)
(/ (+ (cadr pt1) (cadr pt2) (* (- 0 23.6) acx)) 2.00)))
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(command "insert""HK.dwg" pt0 "x" acx "" acc "")
(setvar "osmode" os)
)
HK.dwg文件中,图框的图形在dim层,图框的图形写的块也在dim层,块名为:HK
程序挂再到cad上运行报错,无法调出图框图形:
命令: 图形左上角:
图形右下角:
insert 输入块名或 [?]: HK.dwg 块 HK 参照本身
*无效*
; 错误: 函数被取消
请问HK.dwg文件中还有哪些元素要与程序中的元素匹配?谢谢大家。。
皇上快溜 发表于 2016-10-11 16:15
在在搜索路径的
程序挂再到cad上运行报错,无法调出图框图形:
命令: 图形左上角:
图形右下角:
insert 输入块名或 [?]: HK.dwg 块 HK 参照本身
*无效*
; 错误: 函数被取消
参照本身,HK里面是个块?你炸了pu一下保存再试试 皇上快溜 发表于 2016-10-11 16:29
图形文件
可以用啊,不过坐标好像不对属性值也没有,要手动输
命令: hk layer
当前图层:dim
输入选项
[?/生成(M)/设置(S)/新建(N)/重命名(R)/开(ON)/关(OFF)/颜色(C)/线型(L)/线宽(LW)/透明度(TR)/材质(MAT)/打印(P
)/冻结(F)/解冻(T)/锁定(LO)/解锁(U)/状态(A)/说明(D)/协调(E)]: s
输入要置为当前的图层名或 <选择对象>: dim 输入选项
[?/生成(M)/设置(S)/新建(N)/重命名(R)/开(ON)/关(OFF)/颜色(C)/线型(L)/线宽(LW)/透明度(TR)/材质(MAT)/打印(P
)/冻结(F)/解冻(T)/锁定(LO)/解锁(U)/状态(A)/说明(D)/协调(E)]:
命令: 图形左上角:
图形右下角:
-insert 输入块名或 [?] <HK>: HK.dwg
单位: 毫米 转换: 1.0
指定插入点或 [基点(B)/比例(S)/X/Y/Z/旋转(R)]:
输入 X 比例因子,指定对角点,或 [角点(C)/XYZ(XYZ)] <1>: x 指定 X 比例因子或 [角点(C)] <1>:
2.600000000000000 输入 Y 比例因子或 <使用 X 比例因子>: 指定 Z 比例因子或 <使用 X 比例因子>: 2.6
指定旋转角度 <0>:
输入属性值
A <A>: 15359
A <A>:
00.00.00 <00.00.00>:
0:0 <0:0>:
00/00 <00/00>:
0000000000 <0000000000>:
±0.000 <±0.000>:
00000-000-0 <00000-000-0>:
验证属性值
A <A>:
00.00.00 <00.00.00>:
0:0 <0:0>:
00/00 <00/00>:
0000000000 <0000000000>:
±0.000 <±0.000>:
00000-000-0 <00000-000-0>:
本帖最后由 皇上快溜 于 2016-10-12 21:22 编辑
Sylvanas 发表于 2016-10-12 16:11
就是你发的那个文件,能插入
谢谢你多次指点,仍有些问题想请你求教,套出来的图框不对中。。。总是有点偏,不知道程序中是如何对应插入基准点的
我将 (setq acx(/ disx 780.00))
(setq acy(/ disy 500.00))
改成为 (setq acx(/ disx 297.00))
(setq acy(/ disy 210.00))
对应HK.dwg图形中的实际尺寸
后面的这些不知什么意思
(if (> acy acx)
(setq acx acy)
)
(setq acx (*(fix (+ (* acx 10) 0.9999)) 0.1))
(setq acc (rtos acx 2 1))
(setq pt0 (list (/ (+ (car pt1 ) (car pt2) (* (- 0 8) acx)) 2.00)
(/ (+ (cadr pt1) (cadr pt2) (* (- 0 23.6) acx)) 2.00)))
想请你帮忙改一下,实现对中。
文件HK.dwg的基准点如图中所示
此外,现在套出来的图框紧贴着
(setq pt1 (getpoint "图形左上角:\n"))
(setq pt2 (getcorner pt1 "图形右下角:\n"))
围成的矩形框,须人工再次调整图框大小,不知道这个比例在程序中那个位置调整?
那位帮忙指点一下啊,谢谢 HK.dwg不在搜索路径? Sylvanas 发表于 2016-10-11 16:13
HK.dwg不在搜索路径?
在在搜索路径的 Sylvanas 发表于 2016-10-11 16:22
程序挂再到cad上运行报错,无法调出图框图形:
...
任然不行,能否麻烦你帮我试试?谢谢 本帖最后由 皇上快溜 于 2016-10-25 01:15 编辑
图形文件,,,,,,,,,,,,,,,,,,,,,,,,, Sylvanas 发表于 2016-10-12 09:14
可以用啊,不过坐标好像不对属性值也没有,要手动输
你好,请问是否HK.dwg有什么不妥?我怎么试都没成 皇上快溜 发表于 2016-10-12 14:52
你好,请问是否HK.dwg有什么不妥?我怎么试都没成
就是你发的那个文件,能插入
页:
[1]
2