明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2802|回复: 7

test动态改变线型比例

[复制链接]
发表于 2012-12-25 13:11:17 | 显示全部楼层 |阅读模式
本帖最后由 848818376 于 2012-12-25 13:12 编辑

test动态改变线型比例,详见附件图片及录像

该贴已经同步到 848818376的微博

本帖子中包含更多资源

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

x
 楼主| 发表于 2012-12-25 13:34:14 | 显示全部楼层
没人喜欢啊?
发表于 2012-12-25 14:29:55 | 显示全部楼层
帮你顶个吧
发表于 2012-12-26 08:26:32 | 显示全部楼层
帮你顶个
发表于 2012-12-26 08:39:03 | 显示全部楼层
 楼主| 发表于 2012-12-26 08:44:18 | 显示全部楼层
感谢前辈
发表于 2012-12-26 12:08:14 | 显示全部楼层
论坛里面有动态改变线形比例的
发表于 2012-12-26 20:58:11 | 显示全部楼层
本帖最后由 sachindkini 于 2012-12-26 21:01 编辑

Dear sir,
qjchen all ready share free version
  1. ;;; dynamic  by qjchen@gmail.com
  2. ;;; The mail idea come from eachy master:  http://eachy.bokee.com/5731665.html
  3. ;;; http://www.xdcad.net/forum/showthread.php?postid=1534283

  4. (defun C:test ( / dcl_id dclcontent dclname userclick temp)
  5.   (vl-load-com)
  6.   (setq temp (getvar "cmdecho"))
  7.   (setvar "cmdecho" 0)
  8.   (command "undo" "be")
  9.   (setq dclcontent (list
  10.            "qjchenedynamicltscale:dialog{"
  11.            "label="dynamic linetype scale modify by qjchen";"
  12.            ":button{"
  13.                 "key = "button1";"
  14.                 "label = "individual object ltscale";}"
  15.            ":button{"
  16.                 "key = "button2";"
  17.                 "label = "overall ltscale";}"
  18.            "ok_cancel;}")
  19.   dclname "qjchendltscale"
  20.   )
  21.   (setq dcl_id (load_dialog (qjchencreatdcl dclname dclcontent)))
  22.   (if (not (new_dialog "qjchenedynamicltscale" dcl_id)) (exit))
  23.   (action_tile "button1" "(done_dialog 3)")
  24.   (action_tile "button2" "(done_dialog 4)")
  25.   (setq userclick (start_dialog))
  26.   (unload_dialog dcl_id)
  27.   (cond ((= 3 userclick)(qjchenedltscale 1))
  28.         ((= 4 userclick)(qjchenedltscale 2))
  29.   )
  30.   (command "undo" "e")
  31.   (setvar "cmdecho" temp)
  32. )

  33. (defun qjchenedltscale(n / a b gr linetype newscale o orilst overallltscale zq)
  34.   (prompt "\n Please select one not continuous linetype object:")
  35.   (setq a (car (entsel)) o (vlax-ename->vla-object a))
  36.   (setq orilst (vlax-get-property o 'LinetypeScale))
  37.   (setq linetype (cdr (assoc 6 (entget a))))
  38.   (if (= linetype nil)
  39.       (setq linetype (cdr (assoc 6 (tblsearch "layer" (cdr (assoc 8 (entget a)))))))
  40.   )
  41.   (if (and linetype (/= linetype "Continuous"))
  42.     (progn  
  43.       (setq zq (cdr (assoc 40 (tblsearch "ltype" linetype))))
  44.       (setq overallltscale (getvar "LTSCALE"))
  45.       (setq b (getpoint "\nSelect one point:"))
  46.       (while (= (car (setq gr (grread nil 5 0))) 5)
  47.         (redraw)
  48.         (grdraw (cadr gr) b 1 1)
  49.         (setq newscale (/ (distance (cadr gr) b) zq overallltscale))
  50.         (apply-props o (list (list "LinetypeScale" newscale)))
  51.       )
  52.       (if (= n 2)
  53.         (progn
  54.           (setvar "ltscale" (* overallltscale (/ newscale orilst)))
  55.           (apply-props o (list (list "LinetypeScale" orilst)))
  56.           (command "regen")
  57.         )
  58.       )
  59.     )
  60.   )
  61.   (vlax-release-object o)
  62.   (princ)
  63. )

  64. ;;from dave theswamp
  65. (defun apply-props (object proplist)
  66.   (foreach prop proplist
  67.     (if (vlax-property-available-p object (car prop))
  68.       (vlax-put-property object (car prop) (cadr prop))
  69.     )
  70.   )
  71. )

  72. (defun qjchencreatdcl(dclname lst)
  73. (setq dcl_name (strcat (getenv "temp") "\" dclname ".dcl")
  74.         f (OPEN dcl_name "w")
  75.   )
  76.   (foreach x lst
  77.      (write-line x f)
  78.    )
  79.   (close f)
  80.   dcl_name
  81. )

  82. ;;end main program
  83. (princ "\n By qjchen@gmail.com, dynamic linescale, The command is test")
  84. (princ)

[

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2025-6-3 08:58 , Processed in 0.203733 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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