明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 飞诗(fsxm)

[原创]DCL中实现:块动态预览

  [复制链接]
发表于 2009-4-25 17:18:00 | 显示全部楼层

看样子萝卜没做过image动态处理的程序

image图像的点必须加一个fix改成整数才可

根据当前image大小和实际Block大小做等比例坐标点换算

一条线绘制正确 所有的线就都正确了

发表于 2009-5-4 13:54:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2009-6-17 19:52:00 | 显示全部楼层

先用vla-Import导入wmf.再调用这个函数(遍历图块取(颜色+点)的列表)!

  (defun readwmf (wmf / blk color cpts lst pts x y z)
    (setq blk (vla-item (vla-get-Blocks *doc*) (vla-get-name wmf)))
    (vlax-for a blk
      (setq lst (vlax-get a 'coordinates))
      (setq pts nil)
      (while (setq x (car lst))
 (setq y   (cadr lst)
       lst (cdddr lst)
       pts (cons (list x y) pts)
 )
      )
      (setq Color (vla-get-ColorIndex (vla-get-truecolor a)))
      (setq cpts (cons (cons Color pts) cpts))
    )
    (vla-Delete wmf)
    (vla-Delete blk)
    cpts
  )

发表于 2009-6-17 20:03:00 | 显示全部楼层

是读取wmf文件用vector_image画出来的??

正解.

发表于 2009-6-18 19:32:00 | 显示全部楼层
fsxm高人,你好。请帮忙,万分感谢!
取得(颜色+点)的列表后,如何换算坐标,用于vector_image?
另外,
缩放比如何设置,才能让图片内容在DCL的image中居中显示?

我的(颜色+点)的列表如下:
(
(2 (192.779 -254.648) (260.057 -138.048))
(2 (260.057 -138.048) (394.581 -138.048) (461.859 -254.648)
   (394.581 -371.28) (260.057 -371.28) (192.779 -254.648))
(2 (337.718 -298.377) (337.718 -210.919) (325.233 -223.404)
(316.92 -227.576))
)
发表于 2013-10-11 14:33:44 | 显示全部楼层
飞诗,这个程序现在能公布源码吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-22 04:23 , Processed in 0.158364 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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