找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1165|回复: 20

[求助] .....................................

[复制链接]
发表于 2005-5-4 22:26:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
本帖最后由 贱人 于 2025-4-18 05:54 编辑

.....................................
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-5-4 23:12:02 | 显示全部楼层
真是大开眼界,一个小程序能写这么长。。。。佩服
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-4 23:18:26 | 显示全部楼层
本帖最后由 贱人 于 2025-4-18 05:55 编辑

.....................................
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

发表于 2005-5-5 13:45:12 | 显示全部楼层
支持用户输入或匹配:
[php]
(load "xyp_lib");加载通用函数
;|
如果已经下载xyp_lib并放到搜索路径下可以不再下载!
利用以下任何一种方式即可加载和运行通用函数内的所有子程序:
1.在每个程序内增加(load"xyp_lib")
2.在acad.lsp中增加(load"xyp_lib")
3.在command下,输入(load"xyp_lib")
4.在菜单.mnl中增加(load"xyp_lib")
通用函数下载地址:http://www.xdcad.net/forum/showthread.php?s=&threadid=325268
|;


;;;改线宽
(defun C:test126 ()
  (CMDla0)
  (setq txt5 (ukword 1 "1 2" "\n请选择方式:1-用户输入/2-匹配" txt5))
  (if (= txt5 "1")
    (while (not (setq no1 (ureal 1 "" "\n线宽" no1))))
  )
  (if (= txt5 "2")
    (setq no1 (dxf 41 (entget (car (entsel "\n选宽线 : ")))))
  )
  (princ "\n\t请选择被改线 : ")
  (while (not (setq ss (ssget))))
  (setq        i  0
        sn (sslength ss)
        n  0
  )
  (prompt "\n稍候 ")
  (vl-cmdf ".undo" "BE")
  (while (< i sn)
    (setq s1        (ssname ss i)
          etype        (dxf 0 (entget s1))
    )
    (if        (or
          (= etype "POLYLINE")
          (= etype "LWPOLYLINE")
        )
      (progn
        (command "pedit" s1 "w" no1 "")
        (princ ".")
        (princ)
        (setq n (1+ n))
      )
    )
    (if        (or
          (= etype "LINE")
          (= etype "ARC")
        )
      (progn
        (command "pedit" s1 "Y" "w" no1 "")
        (princ ".")
        (princ)
        (setq n (1+ n))
      )
    )
    (setq i (1+ i))
  )
  (vl-cmdf ".undo" "E")
  (princ "完毕。")
  (princ "\n共有 ")
  (princ n)
  (princ " 条线被修改线宽。")
  (CMDla1)
  (pxyp "GXK  (改线宽)")
)[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-5 19:30:52 | 显示全部楼层
本帖最后由 贱人 于 2025-4-18 05:55 编辑

.....................................
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

发表于 2005-5-5 20:02:41 | 显示全部楼层
(defun c:tt(/ ss w)
  (princ "\n刷线宽----by 狂刀.  \n选参照多义线:")
  (if (and(setq ss (ssget ":s" '((0 . "*POLYLINE"))))
          (setq w (cdr(assoc 43 (entget(ssname ss 0)))))
       )
      (command ".pedit" "m" (ssget '((0 . "*POLYLINE"))) "" "w" w "")
  )(princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-5 21:27:34 | 显示全部楼层
本帖最后由 贱人 于 2025-4-18 05:56 编辑

.....................................
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

发表于 2005-5-6 09:40:14 | 显示全部楼层
最初由 贱人 发布
[B]又要加载xyp_lib这个东西,能不能把xyp_lib里用到的提取出来,我不想加载xyp_lib [/B]

偶只会把这些“旧东东”搬来搬去,不想用也不能勉强!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-6 09:52:12 | 显示全部楼层
一个cad强人的代码


  1. ;;PW.LSP AutoCAD的线宽转换程序
  2. ;;可以处理line、Pline、arc、circle、Mline等实体,各版本通用。
  3. ;;编制:谢永忠 [email]xiewer@iname.com[/email] [url]http://xyzcad.yeah.net[/url]

  4. ;;=====================================  线宽设置 =============================
  5. (setq pw:olderr *error*)
  6. (defun pw_err (s)
  7.         (if (/= s "Function cancelled")
  8. ; If an error (such as CTRL-C) occurs
  9.                 (princ (strcat "Error: " s)) ; while this command is active...
  10.         )
  11.         (COMMAND "UNDO" "BACK")
  12.         (prompt "\n [ 设置恢复! ]")
  13.         (setq *error* pw:olderr)
  14.         (princ)
  15. )


  16. (defun C:PW        (/ i ss_mline ent str line_no1 pw:oldosmode)
  17.         (setvar "cmdecho" 0)
  18.         (COMMAND "UNDO" "MARK")
  19.         (prompt "[Undo marked]\n")
  20.         (setq *error* pw_err)
  21.         (setq width (getreal "转换后的线宽: "))
  22.         ;;转换图形中的所有“MLINE”线条为“LINE”线条
  23.         (setq ss_mline (ssget "X" (list (cons 0 "MLINE"))))
  24.         (if ss_mline
  25.                 (command "_.explode" ss_mline)
  26.         )
  27.         (setq plines (ssget (list '(0 . "POLYLINE,LWPOLYLINE,ARC,LINE,CIRCLE"))))
  28.         (setq line_no1 (sslength plines))
  29.         (princ (strcat        "转换选择集中线条为宽度 "
  30.                                                 (rtos width)
  31.                                                 ",线数 "
  32.                                                 (itoa line_no1)
  33.                                                 "..."
  34.                          )
  35.         )
  36.         (if plines
  37.                 (progn (setq i 0)
  38.                                  (setq pw:oldOsmode (getvar "osmode"))
  39.                                  (setvar "osmode" 0)
  40.                                  (while (setq ent (ssname plines i))
  41.                                          (PWprocess ent width)
  42.                                          (setq i (1+ i))
  43.                                          ;;(princ (strcat "\r " (rtos i) " of " (itoa line_no1)))
  44.                                  )
  45.                                  (setvar "osmode" pw:oldOsmode)
  46.                 )
  47.         )
  48.         (setvar "cmdecho" 1)
  49.         (setq *error* pw:olderr)
  50.         (princ)
  51. )
  52. ;;end defun

  53. (defun PWProcess (entname width)
  54.         (setvar "blipmode" 0)
  55.         (setvar "plinewid" width)
  56.         ;;(command "layer" "LOCK" "hatch" "")
  57.         (setq edent (entget entname))
  58.         (cond        ;;"PLINE"
  59.                         ((or (= "LWPOLYLINE" (cdr (assoc 0 edent)))
  60.                                   (= "POLYLINE" (cdr (assoc 0 edent)))
  61.                          )
  62.                          (command "pedit" entname "W" width "")
  63.                         )
  64.                         ;;"LINE" "ARC"
  65.                         ((or (= "ARC" (cdr (assoc 0 edent)))
  66.                                   (= "LINE" (cdr (assoc 0 edent)))
  67.                          )
  68.                          (command "pedit" entname "" "W" width "")
  69.                         )
  70.                         ;;"CIRCLE"
  71.                         ((= "CIRCLE" (cdr (assoc 0 edent)))
  72.                          (setq cp (cdr (assoc 10 edent))) ;center point
  73.                          (setq r (cdr (assoc 40 edent))) ;radius
  74.                          (entdel entname) ;delete old "CIRCLE"
  75.                          (setq edent_layer (cdr (assoc 8 edent)))
  76.                          (command "layer" "s" edent_layer "")
  77.                          (command "_.donut"
  78.                                                  (* 2.0 (- r (/ width 2)))
  79.                                                  (* 2.0 (+ r (/ width 2)))
  80.                                                  cp
  81.                                                  ""
  82.                          )
  83.                         )
  84.         )
  85.         (command "layer" "UNLOCK" "hatch" "")
  86.         (command "setvar" "blipmode" 1)
  87. ;(command "redraw")
  88. ) ; end PWProcess


  89. (princ
  90.         "线宽转换程序载入,用PW执行! CAD园地--http://xyzcad.yeah.net,98.5"
  91. )
  92. (princ)

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-6 20:27:31 | 显示全部楼层
本帖最后由 贱人 于 2025-4-18 05:56 编辑

.....................................
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

发表于 2005-5-6 21:40:12 | 显示全部楼层
最初由 xyp1964 发布
[B]支持用户输入或匹配:
[php]
(load "xyp_lib");加载通用函数
;|
如果已经下载xyp_lib并放到搜索路径下可以不再下载!
利用以下任何一种方式即可加载和运行通用函数内的所有子程序:
1.在每个程序内增加(load"xy... [/B]



请问一下,xyp。你是用的什么编辑软件,用的是cad自带的vlisp编辑工具,还是其他,我感觉你的程序很工整。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-6 21:50:45 | 显示全部楼层
最初由 zhouri 发布
[B][QUOTE]最初由 xyp1964 发布
[B]支持用户输入或匹配:
[php]
(load "xyp_lib");加载通用函数
;|
如果已经下载xyp_lib并放到搜索路径下可以不再下载!
利用以下任何一种方式即可加载和运行通用函数内的所... [/B]

没错,就是“vlisp编辑工具”!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-8 21:19:50 | 显示全部楼层
最初由 贱人 发布
[B]楼上的,直线和圆弧好象不能刷 [/B]


自己调一下嘛,别那么懒.

模拟刷子,刷多义线宽度
支持*polyline,arc,line
支持循环多次选择

[php]
(defun c:plmw (/ el w ss)
  (princ "\n刷线宽----by 狂刀. ")
  (if (and (setq el (entsel "\n选参照多义线宽度:"))
           (setq w (cdr (assoc 43 (entget (car el)))))
      )
    (while (setq ss (ssget '((0 . "*POLYLINE,ARC,LINE"))))
      (command ".pedit" "m" ss  "")
      (if (NOT (wcmatch        (cdr (assoc 0 (entget(ssname ss 0))))
                        "*POLYLINE"
               )
          )
        (COMMAND "")
      )
      (command "w" w "")
    )
  )
  (princ)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-8 22:21:35 | 显示全部楼层
确实是太长了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-9 22:14:37 | 显示全部楼层
"狂刀"的程序挺简洁,佩服!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-28 05:34 , Processed in 0.330565 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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