明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 288|回复: 8

[提问] 如何解决:【动 态 块】相关问题

[复制链接]
发表于 2024-8-28 15:47:45 | 显示全部楼层 |阅读模式
10明经币
如何解决:【动 态 块】相关问题:



【动 态 块】X 比例值的 ‘负值’ 改为 ‘正值’,保持指向不变,高显修改过的块



详见样图内所述!

肯请大佬帮助!

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

最佳答案

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2024-8-28 15:47:46 | 显示全部楼层



本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2024-8-28 19:45:20 | 显示全部楼层
下载并先在CAD中加载:https://gitee.com/kozmos/tachyon ... VLX/VLDCL-FINAL.VLX

(and (setq ss (ssget '((0 . "insert") (66 . 1))))
     (foreach vlo (AQX:VLO ss)
       (and (= (vla-get-Effectivename vlo) "大样索引")
            (< (setq scl (vla-get-xscalefactor vlo)) 0.)
            (setq scl (vla-put-xscalefactor vlo (abs scl))
                  scl (AQX:SetBlockDynValue vlo (list (cons "角度1" pi)))
                  scl (redraw (AQX:ENAME vlo) 3)
            )
       )
     )
)
回复

使用道具 举报

 楼主| 发表于 2024-8-29 00:25:39 | 显示全部楼层
本帖最后由 fengyu6913 于 2024-8-29 00:27 编辑

对旋转角度为 0 的有效,旋转角为其他度数的效果有点不一致
另外,大佬可以给源码学习下吗?
回复

使用道具 举报

发表于 2024-8-29 09:10:59 | 显示全部楼层
一般的不都是水平的?如果要任意角度都可以,
(and (setq ss (ssget '((0 . "insert") (66 . 1))))
     (foreach vlo (AQX:VLO ss)
       (and (= (vla-get-Effectivename vlo) "大样索引")
            (< (setq scl (vla-get-xscalefactor vlo)) 0.)
            (setq scl (vla-put-xscalefactor vlo (abs scl))
                  scl (AQX:SetBlockDynValue
                        vlo
                        (list (cons "角度1"
                                    (+ (AQX:GetBlockDynValue vlo "角度1") pi)
                              )
                        )
                      )
                  scl (redraw (AQX:ENAME vlo) 3)
            )
       )
     )
)
回复

使用道具 举报

 楼主| 发表于 2024-8-29 11:38:12 | 显示全部楼层
我是这样插进代码用的,当然那个加载的已经加过了
测试:
命令: tt
选择对象: 指定对角点: 找到 3 个
选择对象:
; 错误: 参数太多
命令:


(defun C:tt ( )
(if
(and (setq ss (ssget '((0 . "insert") (66 . 1))))
     (foreach vlo (AQX:VLO ss)
       (and (= (vla-get-Effectivename vlo) "大样索引")
            (< (setq scl (vla-get-xscalefactor vlo)) 0.)
            (setq scl (vla-put-xscalefactor vlo (abs scl))
                  scl (AQX:SetBlockDynValue
                        vlo
                        (list (cons "角度1"
                                    (+ (AQX:GetBlockDynValue vlo "角度1") pi)
                              )
                        )
                      )
                  scl (redraw (AQX:ENAME vlo) 3)
            )
       )
     )
)
(princ)
)

)
回复

使用道具 举报

发表于 2024-8-29 11:43:52 | 显示全部楼层
随手copy-paste漏了

(defun C:tt ()
  (if
    (and (setq ss (ssget '((0 . "insert") (66 . 1))))
         (foreach vlo (AQX:VLO ss)
           (and        (= (vla-get-Effectivename vlo) "大样索引")
                (< (setq scl (vla-get-xscalefactor vlo)) 0.)
                (setq scl (vla-put-xscalefactor vlo (abs scl))
                      scl (AQX:SetBlockDynValue
                            vlo
                            (list
                              (cons
                                "角度1"
                                (+ (cdr        (assoc "角度1"
                                               (AQX:GetBlockDynValue vlo)
                                        )
                                   )
                                   pi
                                )
                              )
                            )
                          )
                      scl (redraw (AQX:ENAME vlo) 3)
                )
           )
         )
    )
     (princ)
  )
)
回复

使用道具 举报

 楼主| 发表于 2024-8-29 17:43:18 | 显示全部楼层
kozmosovia 发表于 2024-8-29 11:43
随手copy-paste漏了

(defun C:tt ()

左右指向的可以,上下指向的没达到效果

大佬把源码分享学习一下
回复

使用道具 举报

 楼主| 发表于 2024-8-30 15:34:09 | 显示全部楼层

xtjd 大佬,源码分享学习一下呗
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-23 20:27 , Processed in 0.192511 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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