明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1219|回复: 6

[提问] 求助将直线角度刷给填充图案

[复制链接]
发表于 2015-9-8 17:39 | 显示全部楼层 |阅读模式
5明经币
本帖最后由 无厘崖 于 2015-9-8 17:43 编辑

      刚学习lsp,想编写一个将直线或多段线倾斜角度刷给填充图案,类似与cad自带的特性匹配,但只匹配角度,其他如位置图层颜色等都不匹配。

程序功能:


       第一步选择直线或多段线;
       第二步选择填充图案并赋与角度;
       第三步可以连续选择下一个填充图案并赋与角度。

下面是自己编写的代码,功能不全而且不能运行,希望大师解决。
(defun c:suajiao(/ tline t-line thach t-hach tangle)
        (vl-load-com)
        (setq tline (car (entsel "\n选择直线")))
        (setq thach (car (entsel "\n选择填充图案")))
        (setq t-line (vlax-ename->vla-object tline))
        (setq t-hach (vlax-ename->vla-object thach))
        (setq tangle (vla-get-angle t-line))
        (vla-put-GradientAngle t-hach tangle)
)

附件: 您需要 登录 才可以下载或查看,没有账号?注册
发表于 2015-9-8 17:39 | 显示全部楼层
  1. (defun c:tt ()
  2.   (setq ll  (car (entsel "\n选择直线: "))
  3.         ht  (car (entsel "\n选择填充图案: "))
  4.         rad (vla-get-angle (vlax-ename->vla-object ll))
  5.         ob  (vlax-ename->vla-object ht)
  6.   )
  7.   (vla-put-PatternAngle ob rad)
  8.   (vla-Evaluate ob)
  9.   (princ)
  10. )
回复

使用道具 举报

 楼主| 发表于 2015-9-8 18:41 | 显示全部楼层
填充图案角度属性搞错了,现在修改GradientAngle属性为PatternAngle,可以实现将直线角度刷给填充图案,但还缺少将多段线角度刷给填充图案,及连续刷下一个填充图案功能。
回复

使用道具 举报

 楼主| 发表于 2015-9-9 20:36 | 显示全部楼层
xyp1964 发表于 2015-9-8 17:39

院长的代码很精简,结构清晰,新人学习了,感谢!!
回复

使用道具 举报

发表于 2015-9-10 13:03 | 显示全部楼层
  1. ;; tt(直线角度刷填充)
  2. (defun c:tt ()
  3.   (setq ll  (car (entsel "\n选择直线: "))
  4.         rad (vla-get-angle (vlax-ename->vla-object ll))
  5.         i   -1
  6.   )
  7.   (princ "\n选择填充图案: ")
  8.   (setq ss (ssget '((0 . "HATCH"))))
  9.   (while (setq s1 (ssname ss (setq i (1+ i))))
  10.     (setq ob (vlax-ename->vla-object s1))
  11.     (vla-put-PatternAngle ob rad)
  12.     (vla-Evaluate ob)
  13.   )
  14.   (princ)
  15. )
回复

使用道具 举报

 楼主| 发表于 2015-9-11 20:57 | 显示全部楼层
xyp1964 发表于 2015-9-10 13:03

功能又强了,够用了,感谢院长!!ssget选择集处理,搞不懂了
回复

使用道具 举报

发表于 2022-3-31 10:57 | 显示全部楼层

,厉害了院长大人
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 20:48 , Processed in 0.263398 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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