找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 509|回复: 2

[求助]:请教发帖时让lisp源代码的的缩进保持原样..

[复制链接]

已领礼包: 208个

财富等级: 日进斗金

发表于 2005-7-26 22:57:13 | 显示全部楼层 |阅读模式

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

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

×
请教发帖时让lisp源代码的的缩进保存..
;;替换框选的所有块,其余的块不变。

  1. (defun C:blkrp ( / ss BlkName blkname2 ents i)
  2.   (setvar "osmode" 0)
  3.   (princ "\n请选择作为源块的图块:")
  4.   ;(setq ss (ssget (list (cons 0 "INSERT"))))
  5.   (setq sssname "INSERT")
  6.   (setq ss (sselect sssname))  
  7.   (setq BlkName (cdr (assoc 2 (entget (car ss)))))  
  8.   (princ "\n请选择将替换的图块:")
  9.   (setq ss1 (ssget (list (cons 0 "INSERT"))))
  10.   (setq blkname2 (cdr (assoc 2 (entget (ssname ss1 0)))))
  11.   (if ss1
  12.     (progn
  13.       (setq i 0)
  14.       (repeat (sslength ss1)
  15.         (setq ents (entget (ssname ss1 i)))
  16.         (setq ents (subst (cons 2 BlkName) (assoc 2 ents) ents))
  17.         (entmod ents)
  18.         (setq i (1+ i))
  19.       );end repeat
  20.     );end progn
  21.   );end if
  22.   (princ)
  23. ) ;end defun
  24. (defun Sselect (sssname)
  25.   (setq m 1)
  26.   (while m      
  27.       (setq ss1 (entsel))      
  28.       (cond
  29.       ((not ss1)
  30.                       (prompt "\n错误:你什么都没有选择!")
  31.                       )
  32.       ;加此段可强制选择sssname的物体.选择别的物体没用.
  33.       ((/= sssname (cdr (assoc 0  (entget (car ss1)))))
  34.                 (prompt "\n错误:你选择的物体不匹配")
  35.                        )
  36.       (t (prompt "\n...OK_...") (setq m nil))
  37.      );cond
  38.   );while m
  39.   ss1
  40. );end defun


[php](defun C:blkrp (/ ss BlkName blkname2 ents i)
  (setvar "osmode" 0)
  (princ "\n请选择作为源块的图块:")
  (setq        sssname        "INSERT"
        ss        (sselect sssname)
        BlkName        (cdr (assoc 2 (entget (car ss))))
  )
  (princ "\n请选择将替换的图块:")
  (setq        ss1         (ssget (list (cons 0 "INSERT")))
        blkname2 (cdr (assoc 2 (entget (ssname ss1 0))))
  )
  (if ss1
    (progn
      (setq i 0)
      (repeat (sslength ss1)
        (setq ents (entget (ssname ss1 i))
              ents (subst (cons 2 BlkName) (assoc 2 ents) ents)
        )
        (entmod ents)
        (setq i (1+ i))
      )
    )
  )
  (princ)
)
(defun Sselect (sssname)
  (setq m 1)
  (while m
    (setq ss1 (entsel))
    (cond
      ((not ss1)
       (prompt "\n错误:你什么都没有选择!")
      )
      ;;加此段可强制选择sssname的物体.选择别的物体没用.
      ((/= sssname (cdr (assoc 0 (entget (car ss1)))))
       (prompt "\n错误:你选择的物体不匹配")
      )
      (t (prompt "\n...OK_...") (setq m nil))
    )
  )
  ss1
)[/php]
这样的lsp很难看
如何能这样,就好多了.
如图
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

发表于 2005-7-26 23:35:23 | 显示全部楼层
如图。熟悉后可以手动输入,代码之前为 [Code] 结束时 加 / ,成对出现,就如 Html 文件的控制符。

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

使用道具 举报

已领礼包: 208个

财富等级: 日进斗金

 楼主| 发表于 2005-7-26 23:46:38 | 显示全部楼层
谢谢,eachy版主.可以专门建立一个主题,如何发帖的帮助?以帮助那些不会没贴的新人.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 21:46 , Processed in 0.243650 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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