找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4946|回复: 21

[求助] dcl popup_list image控件的图像

[复制链接]

已领礼包: 19个

财富等级: 恭喜发财

发表于 2014-4-1 18:50:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
想问一下大家,如果我画巷道断面,有三种形式,有半圆拱,三心拱,圆弧拱,这个是写在下拉按钮popup_list里面,想通过选择其中一个则显示这种形式的图像,该怎么实现。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-4-1 20:25:07 来自手机 | 显示全部楼层
下面加slide_image控件
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

 楼主| 发表于 2014-4-2 14:51:30 | 显示全部楼层
(defun c:dm()
    (setvar "cmdecho" 0)
    (dm_style)
    (dm1)
    (prin1)
)

(defun dm_style()
  (setq chksty (tblsearch "style" "kk"))
  (if (null chksty)
      (command "_style" "kk" "宋体" "" "" "" "" "")
  )
(setq chklay (tblsearch "layer" "断面"))
(if (null chklay)
     (command "_layer" "m" "断面" "c" "3" "断面" "")
  )
  (setvar "clayer" "断面")
  (setvar "textstyle" "kk")
)

(defun dm1()
  (setq dcl_id(load_dialog "dm.dcl"))
  (new_dialog "dm" dcl_id)
  (sub1)
  (set_tile "jkd" "4500")
  (set_tile "qg" "2100")
  (set_tile "bl" "3")
  (set_tile "xz" "1")
  (mode_tile "skb" 0)
  (setq vv1 3 vv2 0 vv3 1)
  (sub1)
  (action_tile "bl" "(sxg1 $value)")
  (action_tile "skb" "(sxg2 $value)")
  (action_tile "xz" "(sxg3 $value)")
  ;(action_tile "xz" "(sub_1 $value)")
  (action_tile "xz" "(sub1)")
  (action_tile "accept" "(get_ww_hh)(done_dialog 1)")
  (setq dd(start_dialog))
  (if (= dd 1)
   (progn
     ;(sxg4)
     (sxg5)
   ))
)


(defun sxg1(vvs1) ;;比例
  (setq vv1 (atoi vvs1))
)



(defun sxg2(vvs2)  ;;是夸比
  (setq vv2 (atoi vvs2))
)




(defun sxg3(vvs3) ;;断面形状
  (setq vv3 (atoi vvs3))
  (if (/= vv3 0)
    (progn
    (mode_tile "skb" 0))
    (progn
    (mode_tile "skb" 1))
  )
)


(defun get_ww_hh()
   (cond ((= vv1 0)(setq B0 (atof (get_tile "jkd"))) (setq h3 (atof (get_tile "qg"))))
         ((= vv1 1)(setq B0 (/ (atof (get_tile "jkd")) 10)) (setq h3 (/ (atof (get_tile "qg")) 10)))
         ((= vv1 2)(setq B0 (/ (atof (get_tile "jkd")) 20)) (setq h3 (/ (atof (get_tile "qg")) 20)))
         ((= vv1 3)(setq B0 (/ (atof (get_tile "jkd")) 50)) (setq h3 (/ (atof (get_tile "qg")) 50)))
         ((= vv1 4)(setq B0 (/ (atof (get_tile "jkd")) 100)) (setq h3 (/ (atof (get_tile "qg")) 100)))
         ((= vv1 5)(setq B0 (/ (atof (get_tile "jkd")) 200)) (setq h3 (/ (atof (get_tile "qg")) 200)))
   )
)





(defun sxg5()
   (setq o (getpoint "\n 绘图点:"))
   (if (= vv3 0)
      (progn
        (setq p1 (polar o (/ pi 2) h3))
        (setq c1 (polar p1 0 (/ B0 2)))
        (SETQ p2 (POLAR c1 (/ pi 2) (/ B0 2)))
        (setq p3 (polar p1 0 B0))
        (setq p4 (polar o 0 B0))
        (command "pline" p4 p3 "A" "ce" c1 p1 "L" o "c")
       )
   )
   (if (= vv3 2)
      (progn
         (if (= vv2 0)
             (progn
                ;(setq i 3)
                (setq f0 (* 0.333333 B0))
                (setq r1 (* 0.541667 B0))
                ;(setq r2 (* 0.260957 B0))
                ;(setq a 1.176005)
                ;(setq aa (- (/ pi 2) (/ a 2)))
                ;(setq xc (* 2 (* r2 (cos aa))))
                (setq p 33.6833)
                ;(setq lg (* 1.32661 B0))
                ;(setq Sg (* 0.262 (* B0 B0)))
              )
         )
        (if (= vv2 1)
             (progn
                ;(setq i 4)
                (setq f0 (* 0.2500 B0))
                (setq r1 (* 0.625 B0))
                ;(setq r2 (* 0.172746 B0))
                (setq a 1.107149)
                ;(setq xc (* 2 (* r2 (cos aa))))
                ;(setq aa (- (/ pi 2) (/ a 2)))
                ;(setq p 26.5667)
                ;(setq lg (* 1.2125 B0))
                ;(setq Sg (* 0.200 (* B0 B0)))
              )
        )
       (if (= vv2 2)
            (progn
               (setq i 5)
               (setq f0 (* 0.2000 B0))
               (setq r1 (* 0.725 B0))
               ;(setq r2 (* 0.128445 B0))
               (setq a 0.761013)
               (setq aa (- (/ pi 2) (/ a 2)))
               (setq xc (* 2 (* r2 (cos aa))))
               (setq p 21.80)
               (setq lg (* 1.64871 B0))
               (setq Sg (* 0.160 (* B0 B0)))
            )
        )
        (setq p1 (polar o (/ pi 2) h3))
        (setq c22 (polar p1 0 (/ B0 2)))
        (SETQ p2 (POLAR c22 (/ pi 2) f0))
        (setq p3 (polar p1 0 B0))
        (setq p4 (polar o 0 B0))
        (setq c1 (polar p2 (* pi 1.5) r1))
        (command "pline" p4 p3 "A" "ce" c1 p1 "L" o "c")
       )
   )
   (if (= vv3 1)
      (progn
           (if (= vv2 0)
            (progn
              (setq i 3)
              (setq f0 (* 0.333333 B0))
              (setq r1 (* 0.691898 B0))
              (setq r2 (* 0.260957 B0))
              (setq a 0.982794)
              (setq aa (- (/ pi 2) (/ a 2)))
              (setq xc (* 2 (* r2 (cos aa))))
              (setq p 33.6833)
              (setq lg (* 1.32661 B0))
              (setq Sg (* 0.262 (* B0 B0)))
            )
         )
        (if (= vv2 1)
           (progn
              (setq i 4)
              (setq f0 (* 0.2500 B0))
              (setq r1 (* 0.904509 B0))
              (setq r2 (* 0.172746 B0))
              (setq a 1.107149)
              (setq xc (* 2 (* r2 (cos aa))))
              (setq aa (- (/ pi 2) (/ a 2)))
              (setq p 26.5667)
              (setq lg (* 1.2125 B0))
              (setq Sg (* 0.200 (* B0 B0)))
           )
        )
       (if (= vv2 2)
          (progn
             (setq i 5)
             (setq f0 (* 0.2000 B0))
             (setq r1 (* 1.128887 B0))
             (setq r2 (* 0.128445 B0))
             (setq a 1.190290)
             (setq aa (- (/ pi 2) (/ a 2)))
             (setq xc (* 2 (* r2 (cos aa))))
             (setq p 21.80)
             (setq lg (* 1.64871 B0))
             (setq Sg (* 0.160 (* B0 B0)))
          )
       )
        (setq p1 (polar o (/ pi 2) h3))
        (setq c1 (polar p1 0 r2))
        (setq p2 (polar p1 aa xc))
        (setq c22 (polar p1 0 (/ B0 2)))
        (setq p3 (polar c22 (/ pi 2) f0))
        (setq c2 (polar p3 (* pi 1.5) r1))
        (setq p6 (polar o 0 B0))
        (setq p5 (polar p6 (/ pi 2) h3))
        (setq c3 (polar p5 pi r2))
        (setq p4 (polar p5 (- pi aa) xc))
        (command "pline" p6 p5 "A" "ce" c3 p4 "ce" c2 p2 "ce" c1 p1 "L" o "c")
       )
    )
   (command "_zoom" "e" "")
   (princ)
)

(defun show_sld(key sld)
  (setq x (dimx_tile key))
  (setq y (dimy_tile key))
  (start_image key)
  (fill_image 0 0 x y -2)
  (slide_image 0 0 x y sld)
  (end_image)
)

(defun sub1()
  (cond ((= vv3 1) (show_sld "kimage" "三心拱"))

    ((= vv3 0) (show_sld "kimage" "半圆拱"))

    ((= vv3 2) (show_sld "kimage" "圆弧拱")))
)
这是我的程序,麻烦看看,还有个问题是,输入断面后,如果不点击这些下拉菜单的话就会出错,默认的好象没用,要点击一次才能画得出
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

 楼主| 发表于 2014-4-2 15:42:38 | 显示全部楼层
原来没画图,新手不好意思
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

 楼主| 发表于 2014-4-2 15:57:34 | 显示全部楼层
还想问一下,图显示出来很小,是什么原因

点评

幻灯片做的就小吧? 你ZOOM 下图,充满屏幕后在制作幻灯试试。  详情 回复 发表于 2014-4-2 16:29
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2014-4-2 16:29:44 | 显示全部楼层
jwj0805 发表于 2014-4-2 15:57
还想问一下,图显示出来很小,是什么原因

幻灯片做的就小吧? 你ZOOM 下图,充满屏幕后在制作幻灯试试。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

 楼主| 发表于 2014-4-2 17:07:22 | 显示全部楼层
确实是图片的问题,但是ZOOM没用,总是充不满,但是把CAD画图界面缩小到图片大小的时候能充满些,但是右面一头还是不能充满,这个能不能用其他格式的图片来做幻灯片。

点评

你说的不充满时什么意思,你最好上个图片说明。 一般ZOOM W 下范围,做幻灯片。 如果涉及到X,Y方向的宽度要完美贴合你的图片,比如你用DCL对话框的图像控件的X,Y比例不同于CAD的屏幕比例,你可以在布局里面开  详情 回复 发表于 2014-4-2 17:10
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

 楼主| 发表于 2014-4-2 17:09:46 | 显示全部楼层
我觉得就是这个图边上有空闲,所以充不满,但是不知道怎么来解决这个问题
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2014-4-2 17:10:02 | 显示全部楼层
jwj0805 发表于 2014-4-2 17:07
确实是图片的问题,但是ZOOM没用,总是充不满,但是把CAD画图界面缩小到图片大小的时候能充满些,但是右面 ...

你说的不充满时什么意思,你最好上个图片说明。

一般ZOOM W 下范围,做幻灯片。

如果涉及到X,Y方向的宽度要完美贴合你的图片,比如你用DCL对话框的图像控件的X,Y比例不同于CAD的屏幕比例,你可以在布局里面开个视口设置好需要的比例。然后ZOOM E,再做幻灯片。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

 楼主| 发表于 2014-4-2 17:34:13 | 显示全部楼层
嗯,我的是 DCL对话框图像控件的框要比我的幻灯片要大很多。
无标题.jpg
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

 楼主| 发表于 2014-4-3 08:12:34 | 显示全部楼层
谢谢了,搞定了,我把CAD窗口缩小就行了。。。。。

点评

能把代码贴上来吗?  详情 回复 发表于 2014-4-3 08:51
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2014-4-3 08:51:18 | 显示全部楼层
jwj0805 发表于 2014-4-3 08:12
谢谢了,搞定了,我把CAD窗口缩小就行了。。。。。

能把代码贴上来吗?

点评

猫老师说的一个技艺: 做幻灯片时把CAD的作图窗口拉伸到刚好填满图形再做就可以做出 想要的楼主想要的效果  详情 回复 发表于 2014-4-3 23:40
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

 楼主| 发表于 2014-4-3 09:57:06 | 显示全部楼层
这个没有用代码的,这个就是幻灯片的问题

点评

推荐你改用OPENDCL,易学强大。  详情 回复 发表于 2014-4-3 10:13
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2014-4-3 10:13:14 | 显示全部楼层
jwj0805 发表于 2014-4-3 09:57
这个没有用代码的,这个就是幻灯片的问题

推荐你改用OPENDCL,易学强大。

点评

如果我要控制LIST_BOX第一行不可选,或者选第一行则跳到第二行怎么写  详情 回复 发表于 2014-4-3 14:00
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

 楼主| 发表于 2014-4-3 14:00:06 | 显示全部楼层
XDSoft 发表于 2014-4-3 10:13
推荐你改用OPENDCL,易学强大。

如果我要控制LIST_BOX第一行不可选,或者选第一行则跳到第二行怎么写

点评

不是的,我是想那个宽度那一行不用,或者一点就跳到第二行  详情 回复 发表于 2014-4-3 16:49
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-23 05:00 , Processed in 0.464669 second(s), 64 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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