明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: caoyin

【分享明经——发程序、拜新年专贴】

    [复制链接]
发表于 2008-12-30 11:34 | 显示全部楼层
后天就是新年了,祝大家新年快乐,牛年更牛。
发表于 2009-1-1 13:06 | 显示全部楼层
新年快乐!
发表于 2009-1-3 20:58 | 显示全部楼层
新年快乐!
发表于 2009-1-5 09:48 | 显示全部楼层
Happy 牛 year!!
发表于 2009-1-5 10:56 | 显示全部楼层
本帖最后由 作者 于 2009-1-20 13:32:09 编辑

我来晚了,我先占个座位,等空了也发一下我的函数!
  1. ;;隐藏/显示选择集中的图元实体
  2. ;;参数:ss----选择集;code----显示/隐藏开关,值为0时,所有选择集中的图元实体隐藏不显示,值为1时,恢复显示选择集中的图元实体。
  3. (defun ss_visible (ss code / na e1 n)
  4.   (if ss
  5.     (progn
  6.       (setq n 0)
  7.       (repeat (sslength ss)
  8. (setq na (ssname ss n)
  9.        e1 (entget na)
  10. )    ;setq
  11. (if (not (assoc 60 e1))
  12.    (setq e1 (append e1 (list (cons 60 code)))) ;setq then
  13.    (setq e1 (subst (cons 60 code) (assoc 60 e1) e1)) ;setq else
  14. )    ;if
  15. (entmod e1)
  16. (entupd na)
  17. (setq n (+ n 1))  ;setq
  18.       )     ;repeat
  19.     )     ;progn
  20.   )     ;if
  21. )

评分

参与人数 1明经币 +1 收起 理由
mccad + 1 【好评】 【分享明经——发程序、拜新年

查看全部评分

发表于 2009-1-5 13:48 | 显示全部楼层

桩孔自动编号、勘察自动编号、生成剖面及桩长统计程序(免费申请2009全功能版)
自动生成EXCEL统计表格
  自动生成剖面
  勘察cad编号
  桩孔CAD编号
桩孔编号程序(2009版,免费申请全功能)

  
  下载地址:HTTP://SCKCY.YS168.COM
免费赠送100个正式版,欲申请从速。

发表于 2009-1-11 19:38 | 显示全部楼层
偶也来占个位置

评分

参与人数 1明经币 +1 收起 理由
mccad + 1 【好评】 【分享明经——发程序、拜新年

查看全部评分

发表于 2009-1-20 22:20 | 显示全部楼层
;单显图层程序  zhuquanmao 20090120 上传 也许有用
  1. (defun c:dxtc (/ a mumer tysm tysm tyl sjl tcl zqm chklay)
  2.   (command "layer" "on" "*" "")
  3.   (prompt "\n单显图层程序,请点取要打开的图层:")
  4.   (setq a (ssget))
  5.   (if (not a)
  6.     (command "layer" "on" "*" "" "")
  7.     (progn
  8.       (command "layer" "off" "*" "y" "")
  9.       (setq mumer 0)
  10.       (setq tysm (sslength a))
  11.       (repeat tysm
  12. (setq ty1 (ssname a mumer))
  13. (setq sj1 (entget ty1))
  14. (setq tc1 (cdr (assoc 8 sj1)))
  15. (command "layer" "on" tc1 "")
  16. (command "layer" "on" (strcat (cdr (assoc 8 sj1)) "*") "")
  17. (setq mumer (1+ mumer))
  18.       )
  19.     )
  20.   )
  21.   (princ)
  22. )

评分

参与人数 1明经币 +1 收起 理由
mccad + 1 【好评】 【分享明经——发程序、拜新年

查看全部评分

发表于 2009-1-28 09:53 | 显示全部楼层
祝大家春节快乐!身体健康!
发表于 2009-2-4 20:51 | 显示全部楼层
本帖最后由 作者 于 2009-2-4 21:25:47 编辑

caoyin发表于2008-12-6 13:23:00;;选择对象 entsel ssget等 函数扩展;; by caoyin @mjtd.com;;____________________________________________________________________________________________________;; ▓ (lt:entsel msg
;;____________________________________________________________________________________________________
;; ▓ (lt:ssget-for msg flt fun)
;; [功能] 获取选择集并实时进行指定函数的操作
;; [参数] msg---提示信息(STR),如果nil时则显示缺省为"\n选择对象: "
;;        flt---等同于 ssget 函数图元过滤表
;;        fun---要对所选对象执行的函数
;; [返回] 成功->选择集,反之->nil
;| [测试]
(lt:ssget-for "\n删除对象:" nil 'entdel)
(defun c:tt ()
  (lt:ssget-for "选择要改变颜色的直线:"
                '((0 . "line"))
                '(lambda (x)
                  (if (or (>= col 256) (not col)) (setq col 0))
                    (vla-put-color (vlax-ename->vla-object x) (setq col (1+ col)))
                )
  )
)
|;
  1. (defun lt:ssget-for (msg flt fun / cme nom sp ss ss2 e)
  2.   (setq cme (getvar "cmdecho")
  3.         nom (getvar "nomutt")
  4.   )
  5.   (if msg
  6.     (setq msg (strcat "\r" msg))
  7.     (setq msg "\r选择对象: ")
  8.   )
  9.   (setvar "nomutt" 1)
  10.   (setvar "cmdecho" 0)
  11.   (while
  12.     (progn
  13.       (setq sp (ssget "_P"))
  14.       (princ msg)
  15.       (command "_.select" "_si")
  16.       (command pause)
  17.       (setq ss (ssget "_p"))
  18.       (if (and sp (equal (ssnamex sp) (ssnamex ss)))
  19.         (setq ss nil)
  20.       )
  21.       ss
  22.     )
  23.     (if (and ss (setq ss (ssget "_p" flt)))
  24.       (progn
  25.         (if (not ss2) (setq ss2 (ssadd)))
  26.         (repeat (setq n (sslength ss))
  27.           (setq e (ssname ss (setq n (1- n))))
  28.           (if fun (apply fun (list e)))
  29.           (ssadd e ss2)
  30.         )
  31.       )
  32.     )
  33.   )
  34.   (setvar "cmdecho" cme)
  35.   (setvar "nomutt" nom)
  36.   ss2
  37. )
;;下面一个函数源自 xdcad.net 网友 讨论,龙版主发过,为了方便整理,放于此处
;;____________________________________________________________________________________________________
;; ▓ (lt:ssget lst)
;; [功能] 获取选择集(类似于 ssget 函数,不同的是可以加入提示信息)
;; [参数] lst----(LIST)参数列表,包含若干元素:
;;               第一个元素----提示信息(STR),如果nil时则显示缺省为"\n选择对象: "
;;               其他元素------包括 ssget 函数的所有参数
;; [返回] 成功->选择集,反之->nil
;; [测试] (lt:ssget '("\n选择直线或圆弧: " ((0 . "line,arc"))))
;;        (lt:ssget '(nil "_x" ((0 . "line,arc"))))
  1. (defun lt:ssget (lst / oldnom ss)
  2.   (if (setq msg (car lst))
  3.     (progn
  4.       (setq oldnom (getvar "nomutt"))
  5.       (princ msg)
  6.       (setvar "nomutt" 1)
  7.     )
  8.   )
  9.   (setq ss (vl-catch-all-apply 'ssget (cdr lst)))
  10.   (if oldnom (setvar "nomutt" oldnom))
  11.   (if (not (vl-catch-all-error-p ss)) ss)
  12. )

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

本版积分规则

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

GMT+8, 2024-4-25 13:26 , Processed in 0.260798 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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