更换桥梁通箭头

zuoge 发表于 2007-12-29 23:00:24
试了几次,都不起作用,不知道还有什么秘密
举报 回复
fly_902 发表于 2008-1-12 16:34:42
呵呵, 谢谢楼主, 是用lsp写的吗
举报 回复
zzz009 发表于 2008-1-14 11:12:26
谢谢楼主的工具,我正好想把桥梁换箭头呢。
举报 回复
sloyb 发表于 2008-8-11 11:45:32
这是个好东西,我相信凡是桥梁通用户都需要,谢谢
举报 回复
albe 发表于 2008-8-21 14:09:45
试了下,没反应,楼主能不能再写详细点,兄弟们都跪求啊
举报 回复
zdp 发表于 2008-10-27 18:21:38
不错的软件,说明一下使用方法
举报 回复
shunzi041 发表于 2008-11-1 20:30:17
哈哈,好东西,我也下下来学习学习。
谢谢楼主。
举报 回复
cdysj1978 发表于 2008-11-28 17:50:05
我怎么换不了呢
是不是在CAD下面AP加载CHARROW.LSP文件,在CAD下运行CHARROW命令阿???
不行呢??
举报 回复
w99012323 发表于 2008-12-8 15:12:59
这东西可以用吗,下来看看了啊
举报 回复
cdysj1978 发表于 2008-12-10 21:02:54

人气怎么这么低哦

楼主还是上来看哈啥,怎么没有人给出解答哦.................................
举报 回复
bridge-s 发表于 2008-12-11 14:18:30
建议给楼主把这贴顶到精华区去
举报 回复
bridge-s 发表于 2008-12-11 14:46:00
公布楼主的代码:

;替换炸开的箭头 ZZXXQQ 2006.8.16
(DEFUN C:CHARROW ()
(SETVAR "CMDECHO" 0)
(COMMAND ".UNDO" "BE")
(SETQ OLDOS (GETVAR "OSMODE"))
(SETVAR "OSMODE" 0)
(IF (SETQ SS (SSGET "X" '((0 . "SOLID")))) (PROGN
  (SETQ I -1)
  (REPEAT (SSLENGTH SS)
   (SETQ EN (SSNAME SS (SETQ I (1+ I)))
         ENT (ENTGET EN)
         P1 (CDR (ASSOC 10 ENT))
         P2 (CDR (ASSOC 11 ENT))
         P3 (CDR (ASSOC 12 ENT))
         P4 (CDR (ASSOC 13 ENT)))
   (IF (EQUAL (DISTANCE P3 P4) 0 1E-6) (PROGN
    (SETQ P5 (POLAR P2 (ANGLE P2 P1) (* (DISTANCE P2 P1) 0.5))
          SCA (/ (DISTANCE P3 P5) 2)
          ANG (/ (* (ANGLE P5 P3) 180) PI))
    (COMMAND "ERASE" EN "" "-INSERT" "DIMARROW" P3 SCA "" ANG)
   ))
  )
))
(COMMAND ".UNDO" "E")
(SETVAR "OSMODE" OLDOS)
(SETVAR "CMDECHO" 1)
(PRINC)
)
;替换子形箭头 ZZXXQQ 2006.8.17
(DEFUN C:CHARROW2 ()
(SETVAR "CMDECHO" 0)
(COMMAND ".UNDO" "BE")
(SETQ OLDOS (GETVAR "OSMODE"))
(SETVAR "OSMODE" 0)
(IF (SETQ SS (SSGET "X" '((0 . "SHAPE")))) (PROGN
  (SETQ I -1)
  (REPEAT (SSLENGTH SS)
   (SETQ EN (SSNAME SS (SETQ I (1+ I)))
         ENT (ENTGET EN)
         P1 (CDR (ASSOC 10 ENT))
         NM (CDR (ASSOC 2 ENT))
         ANG (+ (/ (* (CDR (ASSOC 50 ENT)) 180) PI) 180)
         SCA (* (CDR (ASSOC 40 ENT)) 10))
   (IF (= NM "ARROW0")
    (COMMAND "ERASE" EN "" "-INSERT" "DIMARROW" P1 SCA "" ANG)
   )
  )
))
(COMMAND ".UNDO" "E")
(SETVAR "OSMODE" OLDOS)
(SETVAR "CMDECHO" 1)
(PRINC)
)
;替换炸开的箭头和子形箭头 ZZXXQQ 2006.8.17
(DEFUN C:CHARROW3 ()
(SETVAR "CMDECHO" 0)
(COMMAND ".UNDO" "BE")
(SETQ OLDOS (GETVAR "OSMODE"))
(SETVAR "OSMODE" 0)
(IF (SETQ SS (SSGET "X" '((0 . "SOLID")))) (PROGN
  (SETQ I -1)
  (REPEAT (SSLENGTH SS)
   (SETQ EN (SSNAME SS (SETQ I (1+ I)))
         ENT (ENTGET EN)
         P1 (CDR (ASSOC 10 ENT))
         P2 (CDR (ASSOC 11 ENT))
         P3 (CDR (ASSOC 12 ENT))
         P4 (CDR (ASSOC 13 ENT)))
   (IF (EQUAL (DISTANCE P3 P4) 0 1E-6) (PROGN
    (SETQ P5 (POLAR P2 (ANGLE P2 P1) (* (DISTANCE P2 P1) 0.5))
          SCA (/ (DISTANCE P3 P5) 2)
          ANG (/ (* (ANGLE P5 P3) 180) PI))
    (COMMAND "ERASE" EN "" "-INSERT" "DIMARROW" P3 SCA "" ANG)
   ))
  )
))
(IF (SETQ SS (SSGET "X" '((0 . "SHAPE")))) (PROGN
  (SETQ I -1)
  (REPEAT (SSLENGTH SS)
   (SETQ EN (SSNAME SS (SETQ I (1+ I)))
         ENT (ENTGET EN)
         P1 (CDR (ASSOC 10 ENT))
         NM (CDR (ASSOC 2 ENT))
         ANG (+ (/ (* (CDR (ASSOC 50 ENT)) 180) PI) 180)
         SCA (* (CDR (ASSOC 40 ENT)) 10))
   (IF (= NM "ARROW0")
    (COMMAND "ERASE" EN "" "-INSERT" "DIMARROW" P1 SCA "" ANG)
   )
  )
))
(COMMAND ".UNDO" "E")
(SETVAR "OSMODE" OLDOS)
(SETVAR "CMDECHO" 1)
(PRINC)
)
举报 回复
sgr66 发表于 2008-12-11 18:20:56
楼主,怎么用啊?我的图怎么还是老样子啊?
举报 回复
qrf 发表于 2008-12-12 10:20:58

好人哈

不知道好不好用,不过还是要谢谢你
举报 回复
hongcai200... 发表于 2008-12-22 21:24:39
好东西,谢谢分享
举报 回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

 
 
  • QQ:56984982
  • 点击这里给我发消息
    电话:13527553862
    站务咨询群桥头堡站务咨询桥梁专业交流群:
    中国桥梁专业领袖群
    工作时间
    8:00-18:00