明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1927|回复: 3

這個程序有一個怪問題,

[复制链接]
发表于 2004-2-26 18:31:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2004-4-29 10:19:19 编辑

下面這個程序是我公司里運用的小程序. 在命令提示行輸入運行很正常. 但是我要把這段代碼放到ACAD.LSP加載並運行時會彈出 HELP 幫助界面的. 不知是什麼回事. 望知道的大俠指導指導. ;-----------------------------------------------------------------------------------
;程序編寫: BDYCAD
;程序功能: 插入鞋圖在指定的位置
;編寫時間: 2003-11-13
;使用涵數: (insert-image-shoe)
(defun insert-image-shoe(/ )
(seterr)
(setq os (getvar "osmode"))
(setvar "osmode" 0)(setvar "cmdecho" 0)
(setq layer (getvar "clayer"))
(setvar "clayer" "AID")
(setq a (strcat (substr (getvar "dwgname") 1 (-(strlen (getvar "dwgname")) 4)) ".jpg"))
(if (findfile a)(insert-image-shoe-ok))
(setvar "clayer" layer)
(princ))
(defun insert-image-shoe-ok(/ imans adata b eb bdata p1 pt1 p2 pt2 p3 pt3 pt4 xd yd pt5 el apt1 apt2 apt3 apt4)
(command "._imageframe" "ON")
(IF(= (GETVAR "QAFLAGS") 0) (setvar "QAFLAGS" 1))
(command ".image" "a" a " 0,0" "" "" "" )
(setq imans(entlast))
(setq adata (entget imans))
(setq b (cdr (assoc 10 adata)))
(command ".explode" imans "")
(command ".pedit" (entlast) "" "J" "all" "" "")
(setq eb (entlast))
(setq bdata (entget eb))
(setq p1 (assoc 10 bdata))(setq pt1 (cdr p1))(SETQ bdata (vl-remove p1 bdata))
(setq p2 (assoc 10 bdata))(setq pt2 (cdr p2))(SETQ bdataf (vl-remove p2 bdata))
(setq p3 (assoc 10 bdata))(setq pt3 (cdr p3))(SETQ bdata (vl-remove p3 bdata))
(setq pt4 (cdr(assoc 10 bdata)))
(SETQ xd (distance pt1 pt2))
(setq yd (distance pt2 pt3))
(entdel eb)
(command ".image" "D" (strcat (substr (getvar "dwgname") 1 (-(strlen (getvar "dwgname")) 4)) ) );" 0,0" "" "" "" )
;;; (ENTMAKE adata)
(command ".image" "a" a " 0,0" "" "" "" )
(command ".scale" (entlast) "" b "r" xd 330)
;(setq pt5 (list 330 198));(/ (* 330 yd ) xd)))
(setq el (entlast))
(image-inster-point)
(command ".move" el "" "330,198" (list (- (car apt3)1.0)(- (cadr apt3)1.0)))
;;; (command ".chprop" el "" "la" "AID" "" )
(command "._imageframe" "OFF")
(setvar "osmode" os)(setvar "cmdecho" 1)
(IF(= (GETVAR "QAFLAGS") 1) (setvar "QAFLAGS" 0))
(geterr)
(princ))
(defun image-inster-point(/ rectangle-color6 n pdata ap1 ap2 ap3 ap4 apt1 apt2 apt4)
(setq rectangle-color6 (ssget "x" '((8 . "AID")(0 . "LWPOLYLINE") (62 . 6))))
(setq n(sslength rectangle-color6))
(setq pdata (entget (ssname rectangle-color6 (- n 1))))
(setq ap1 (assoc 10 pdata))(setq apt1 (cdr ap1))(SETQ pdata (vl-remove ap1 pdata))
(setq ap2 (assoc 10 pdata))(setq apt2 (cdr ap2))(SETQ pdata (vl-remove ap2 pdata))
(setq ap3 (assoc 10 pdata))(setq apt3 (cdr ap3))(SETQ pdata (vl-remove ap3 pdata))
(setq ap4 (assoc 10 pdata))(setq apt4 (cdr ap4))
(princ))

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2004-2-26 19:31:00 | 显示全部楼层
没看程序,这种现象是command 里多了个回车造成的
发表于 2004-2-26 19:34:00 | 显示全部楼层
我猜测IMAGEFRAME这个命令可能不是ACAD内部命令,在程序加载ACAD.LSP的时候还未激活。
发表于 2004-2-27 10:18:00 | 显示全部楼层
这个问题我也遇见过,一定是多了一个回车,你可以去查一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 16:40 , Processed in 0.189870 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表