皇上快溜 发表于 2016-10-10 17:12:54

请大家帮我看看这段程序 自动图框

(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文件中还有哪些元素要与程序中的元素匹配?谢谢大家。。

Sylvanas 发表于 2016-10-11 16:22:08

皇上快溜 发表于 2016-10-11 16:15
在在搜索路径的

程序挂再到cad上运行报错,无法调出图框图形:
                                                                     命令: 图形左上角:
                                                                     图形右下角:
                                                                     insert 输入块名或 [?]: HK.dwg 块 HK 参照本身
                                                                  *无效*
                                                                  ; 错误: 函数被取消

参照本身,HK里面是个块?你炸了pu一下保存再试试

Sylvanas 发表于 2016-10-12 09:14:19

皇上快溜 发表于 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:16:51

本帖最后由 皇上快溜 于 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"))
围成的矩形框,须人工再次调整图框大小,不知道这个比例在程序中那个位置调整?

皇上快溜 发表于 2016-10-11 15:58:40

那位帮忙指点一下啊,谢谢

Sylvanas 发表于 2016-10-11 16:13:48

HK.dwg不在搜索路径?

皇上快溜 发表于 2016-10-11 16:15:46

Sylvanas 发表于 2016-10-11 16:13
HK.dwg不在搜索路径?

在在搜索路径的

皇上快溜 发表于 2016-10-11 16:28:52

Sylvanas 发表于 2016-10-11 16:22
程序挂再到cad上运行报错,无法调出图框图形:
                                                       ...

任然不行,能否麻烦你帮我试试?谢谢

皇上快溜 发表于 2016-10-11 16:29:54

本帖最后由 皇上快溜 于 2016-10-25 01:15 编辑

图形文件,,,,,,,,,,,,,,,,,,,,,,,,,

皇上快溜 发表于 2016-10-12 14:52:10

Sylvanas 发表于 2016-10-12 09:14
可以用啊,不过坐标好像不对属性值也没有,要手动输




你好,请问是否HK.dwg有什么不妥?我怎么试都没成

Sylvanas 发表于 2016-10-12 16:11:56

皇上快溜 发表于 2016-10-12 14:52
你好,请问是否HK.dwg有什么不妥?我怎么试都没成

就是你发的那个文件,能插入
页: [1] 2
查看完整版本: 请大家帮我看看这段程序 自动图框