乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 60|回复: 0

[编程交流] 更改对象/图元线型

[复制链接]

13

主题

56

帖子

39

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-5 16:24:25 | 显示全部楼层 |阅读模式
谷歌这个Lisp程序什么时候回来。由Tharwat&Kent Cooper撰写。
 
效果很好,但我现在也需要它来更改嵌套块中的那些。
 
需要帮助更改以在嵌套块中包含对象和实体。
 
  1. (defun c:test (/ ly ss)
  2. ;; Tharwat 06.May.2014  ;;
  3. ;; altered for list-of-lists approach by Kent Cooper 14 May 2014 ;;
  4. (setq ly '(("Layer1" 0.5) ("Layer2" 0.75) ("Layer3" 1.5)))
  5. (if
  6.    (setq ss
  7.      (ssget "_X"
  8.        (list
  9.          '(0 . "CIRCLE,ARC,ELLIPSE,*LINE,RAY,HATCH,REGION")
  10.            ;; [added RAY,HATCH,REGION (people should avoid Hatching on non-continuous-linetype
  11.            ;; Layers, but they do honor linetypes and linetype scale) -- any other possibilities? Leaders
  12.            ;; and Dimensions honor linetypes, but for some reason not linetype scale.]
  13.          (cons 8 (apply 'strcat (mapcar '(lambda (u) (strcat (car u) ",")) ly)))
  14.        ); list
  15.      ); ssget
  16.    ); setq
  17.    ( (lambda (i / sn v)
  18.        (while (setq sn (ssname ss (setq i (1+ i))))
  19.          (if (vlax-write-enabled-p (setq v (vlax-ename->vla-object sn)))
  20.            (vla-put-linetypescale v (cadr (assoc (cdr (assoc 8 (entget sn))) ly)))
  21.          ); if
  22.        ); while
  23.      ); lambda
  24.      -1
  25.    )
  26. ); if
  27. (princ)
  28. ); defun
  29. (vl-load-com)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-20 23:32 , Processed in 2.072310 second(s), 55 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表