明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1438|回复: 13

求一个构造线插件

  [复制链接]
发表于 2025-9-8 21:49:56 | 显示全部楼层 |阅读模式
本帖最后由 dijians86 于 2025-9-9 12:03 编辑

求构造线插件  输入GG 默认垂直构造线  鼠标右键或者F键 切换水平构造线  可以循环切换 横竖线  这样就不用输入两次命令 (构造线使用评率超高)

【新提醒】求构造线插件 - 付费开发 - AutoCAD论坛 - 明经CAD社区 - Powered by Discuz!

实际使用 鼠标右键切换会方便

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2025-9-9 14:39:28 | 显示全部楼层
;不用grread,空格切换方向
(defun C:TT (/ loop dire pt)
  (setq loop t dire "V")
  (command "_.XLINE" dire)
  (while loop
    (initget "F E")
    (setq pt (getpoint (strcat "\n插入点/切换方向[F]/退出[E] <当前:" dire ">: ")))
    (cond  
      ((= pt nil)
        (setq dire (if (= dire "V") "H" "V")) ; 空格键切换方向
        (command)
        (command "_.XLINE" dire)
      )
      ((listp pt) (command pt))
      ((= pt "F")
        (setq dire (if (= dire "V") "H" "V"))
        (command)
        (command "_.XLINE" dire)
      )
      ((= pt "E") (command) (setq loop nil)) ; 输入E退出
    )
  )
  (prin1)
)
回复 支持 1 反对 0

使用道具 举报

发表于 2025-9-9 11:42:26 | 显示全部楼层
dijians86 发表于 2025-9-9 10:51
语法错误 用不了

可能是系统问题,在Mac下编写的,在win下会编码错误,试一下面修改的
  1. (defun c:gg (/ p m s mode os-old pt undo lst)
  2.   (setvar "cmdecho" 0)
  3.   (setq os-old (getvar "OSMODE"))
  4.   (setq mode 1)
  5.   (setq undo '())
  6.   (setvar "OSMODE" 1535)
  7.   (setvar "AUTOSNAP" 16383)
  8.   (princ "\n右键:切模式(当前:垂直│) | 左键:画 | Z:撤 | 空格:退\n")
  9.   (while (setq p (grread t))
  10.     (setq m (car p))
  11.     (setq pt (cadr p))
  12.     (setq s (if (and (listp pt) pt) (osnap pt "_end,_mid") nil))
  13.     (setq pt (if s s pt))
  14.     (cond
  15.       ((= m 25)
  16.        (setq mode (if (= mode 0) 1 0))
  17.        (princ (strcat "\n切换: " (if (= mode 0) "水平─" "垂直│") "\n"))
  18.       )
  19.       ((= m 3)
  20.        (command "_xline" (if (= mode 0) "_h" "_v") pt "")
  21.        (setq lst (entlast))
  22.        (if lst (setq undo (cons lst undo)))
  23.        (princ (strcat "→ 已画: " (if (= mode 0) "水平─" "垂直│") (if s " (捕点)" "") "\n"))
  24.       )
  25.       ((and (= m 2) (= (cadr p) 122))
  26.        (if undo
  27.            (progn
  28.              (command "_erase" (car undo) "")
  29.              (setvar "cmdecho" 1)
  30.              (setq undo (cdr undo))
  31.              (princ "\n→ 已撤回\n")
  32.            )
  33.            (princ "\n无操作可撤\n")
  34.        )
  35.       )
  36.       ((and (= m 2) (member (cadr p) '(32 27)))
  37.        (setvar "OSMODE" os-old)
  38.        (princ "\n工具退出\n")
  39.        (exit)
  40.       )
  41.     )
  42.   )
  43.   (princ)
  44. )
回复 支持 反对

使用道具 举报

发表于 2025-9-8 21:52:48 | 显示全部楼层
(defun c:HH () (xline_x "h"))  ;水平构造线
(defun c:VV () (xline_x "v"))  ;垂直构造线

点评

大佬真厉害  发表于 2025-9-8 22:34
回复 支持 反对

使用道具 举报

发表于 2025-9-8 23:41:29 | 显示全部楼层
;;刚好有类似要求的,你可以试试,命令XX
;;功能:绘制水平/垂直构造线,右键切换模式,左键画构造线,空格/ESC退出




本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2025-9-9 07:42:03 | 显示全部楼层
不一样地设计 发表于 2025-9-8 23:41
;;刚好有类似要求的,你可以试试,命令XX
;;功能:绘制水平/垂直构造线,右键切换模式,左键画构造线,空 ...

命令: (LOAD "c:/users/administrator/downloads/绘制水平_垂直构造线XX.lsp") ; 错误: 语法错误
回复 支持 反对

使用道具 举报

发表于 2025-9-9 07:45:07 | 显示全部楼层
不一样地设计 发表于 2025-9-8 23:41
;;刚好有类似要求的,你可以试试,命令XX
;;功能:绘制水平/垂直构造线,右键切换模式,左键画构造线,空 ...

我发现捕捉没有提示了.,并没有实际需要的效果.如果不需要捕捉倒是没关系.,而且编码需要转换.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-9-9 10:51:02 | 显示全部楼层
不一样地设计 发表于 2025-9-8 23:41
;;刚好有类似要求的,你可以试试,命令XX
;;功能:绘制水平/垂直构造线,右键切换模式,左键画构造线,空 ...

语法错误 用不了
回复 支持 反对

使用道具 举报

发表于 2025-9-9 11:32:02 | 显示全部楼层
试着胡乱写了个,不知道能不能用。
  1. (defun C:TT (/ loop dire pt)
  2.   (setq  loop t dire "V")
  3.   (command "_.XLINE" dire)
  4.   (while loop
  5.     (initget 1 "F E")
  6.     (setq pt (getpoint "\n插入点/切换方向[F]/退出[E]:"))
  7.     (cond  
  8.       ((listp pt) (command pt))
  9.       ((= pt "F")
  10.         (if (= dire "V") (setq dire "H")(setq dire "V"))
  11.         (command)
  12.         (command "_.XLINE" dire)
  13.       )
  14.       (t (command) (setq loop nil))
  15.     )
  16.   )
  17.   (prin1)
  18. )


回复 支持 反对

使用道具 举报

发表于 2025-9-9 11:47:11 | 显示全部楼层
丶俗人 发表于 2025-9-9 07:45
我发现捕捉没有提示了.,并没有实际需要的效果.如果不需要捕捉倒是没关系.,而且编码需要转换.

因为用了grread函数,只能能简单模拟捕捉,光标移到端点附近或者中点附近可以正常识别!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-9-9 12:02:36 | 显示全部楼层
这个可以用 实际使用中 用鼠标右键切换 会更方便
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-26 18:43 , Processed in 0.305978 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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