明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1318|回复: 8

用光标选择显示SLD插入图

[复制链接]
发表于 2009-6-7 16:57:00 | 显示全部楼层 |阅读模式

这是一个用光标选择屏幕显示SLD画面,然后插入图形的源代码,

请各位高手能否帮我讲解一下,以下用红色字体代码的意思,

添加详细的注释。(附上.SLD文件)

(DEFUN C:22 ()
     (SETVAR "CMDECHO" 0)
     (COMMAND "VSLIDE" "ZSK")
     (SETQ VC (GETVAR "VIEWCTR"))
     (SETQ YR (GETVAR "VIEWSIZE"))
     (SETQ VX (GETVAR "VSMAX"))
     (SETQ VI (GETVAR "VSMIN"))
     (SETQ JA 5)
     (SETQ XI (- (NTH 0 VC) (/ (* YR 1.40888) 2)))
     (SETQ YI (- (NTH 1 VC) (/ YR 2)))
     (SETQ XR (* YR 1.4088))
     (SETQ XR6 (/ XR 6))
     (SETQ YR9 (/ XR6 3))
      (SETQ PT1 (GETPOINT "\nPLEASE DIGIT THE CHAR. TABLE : "))
     (IF (NULL PT1) (SETQ JA 14) (PROGN
   (SETQ IA (FIX (/ (- (NTH 0 PT1) XI) XR6)))
   (SETQ JA (+ (FIX (/ (- (NTH 1 PT1) YI) YR9)) 1));))
   (IF (= JA 1) (SETQ DS (NTH IA
       (LIST "" "" "" ""
      "" "" ))))
   (IF (= JA 2) (SETQ DS (NTH IA
       (LIST "" "" "" ""
      "" "" ))))
   (IF (= JA 3) (SETQ DS (NTH IA
       (LIST "" "" "" ""
      "" "" ))))
   (IF (= JA 4) (SETQ DS (NTH IA
       (LIST "" "" "" ""
      "" "" ))))
   (IF (= JA 5) (SETQ DS (NTH IA
       (LIST "" "" "" ""
      "" "" ))))
   (IF (= JA 6) (SETQ DS (NTH IA
       (LIST "" "" "" ""
      "" "" ))))
   (IF (= JA 7) (SETQ DS (NTH IA
       (LIST "SK100F" "SK100E" "SK100D" "SK100C"
      "SK100B" "SK100A" ))))
   (IF (= JA 8) (SETQ DS (NTH IA
       (LIST "SK75F" "SK75E" "SK75D" "SK75C"
      "SK75B" "SK75A" ))))
   (IF (= JA 9) (SETQ DS (NTH IA
       (LIST "SK50F" "SK50E" "SK50D" "SK50C"
      "SK50B" "SK50A" ))))
     (REDRAW)))
)

"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2009-6-7 17:26:00 | 显示全部楼层

本帖子中包含更多资源

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

x
发表于 2009-6-7 19:45:00 | 显示全部楼层
好像只是显示了一张幻灯片,点鼠标没反应嘛
发表于 2009-6-7 21:16:00 | 显示全部楼层
     (COMMAND "VSLIDE" "ZSK")     ;显示ZSK.SLD文件
     (SETQ VC (GETVAR "VIEWCTR")) ;当前图象的中心点
     (SETQ YR (GETVAR "VIEWSIZE")) ;当前图象高度(图形单位)
     (SETQ VX (GETVAR "VSMAX")) ;当前虚屏右上角值(图形单位)
     (SETQ VI (GETVAR "VSMIN")) ;当前虚屏左下角值(图形单位)
     (SETQ JA 5)
     (SETQ XI (- (NTH 0 VC) (/ (* YR 1.40888) 2)));计算当前图象中心点的X分量
     (SETQ YI (- (NTH 1 VC) (/ YR 2)))            ;Y分量
     (SETQ XR (* YR 1.4088))                      ;当前图象宽度
     (SETQ XR6 (/ XR 6))                          ;X分成六份
     (SETQ YR9 (/ XR6 3))                         ;Y分成九份
      (SETQ PT1 (GETPOINT "\nPLEASE DIGIT THE CHAR. TABLE : ")) ;屏幕选点
     (IF (NULL PT1) (SETQ JA 14) (PROGN           ;如果未选点则JA赋值14结束程序
   (SETQ IA (FIX (/ (- (NTH 0 PT1) XI) XR6)))     ;计算列数
   (SETQ JA (+ (FIX (/ (- (NTH 1 PT1) YI) YR9)) 1));计算行数

 楼主| 发表于 2009-6-7 22:59:00 | 显示全部楼层

谢谢ZZXXQQ版主详细的注释,

另外请问以下此句中"1.40888"是怎么来的得来的啊

(SETQ XI (- (NTH 0 VC) (/ (* YR 1.40888) 2)));计算当前图象中心点的X分量

 楼主| 发表于 2009-6-7 23:17:00 | 显示全部楼层

如果我需要实现附件中文件改如何计算光标所点位置,能否帮助写个简单的程序.

本帖子中包含更多资源

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

x
发表于 2009-6-8 13:28:00 | 显示全部楼层
游客,本帖隐藏的内容需要发帖数高于 5 才可浏览,你当前发帖数只有 0
 楼主| 发表于 2009-6-8 19:39:00 | 显示全部楼层

再次感谢ZZXXQQ版主的帮助,我现理解的差不多了,

我将按你的思路自己做几个练习多熟悉以下了.

发表于 2009-6-11 12:25:00 | 显示全部楼层

顶上去

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-24 20:04 , Processed in 0.205048 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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