明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1274|回复: 5

信.公布的源码合并一处,以便继续开发研究

[复制链接]
发表于 2022-4-27 00:18:02 | 显示全部楼层 |阅读模式
本帖最后由 尘缘一生 于 2022-4-27 22:57 编辑

说明:
本坛:7月信源码公布了,请学习7月信
http://bbs.mjtd.com/forum.php?mo ... 50&highlight=%D0%C5

信的程序,函数什么的,不好找到,为此,用点功夫【机械的】合并在一个文件。如果不允许发布,请版主删除即可。
请允许我对信的代码,道声敬意,我以后也会全部公布我的代码,向信学习。
关于信的DCL部分,没有转LISP,请去原帖下载即可。



本帖子中包含更多资源

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

x
发表于 2022-4-27 07:42:29 | 显示全部楼层
这可能是早期的作品,似乎不是搞机械的。
我人事带式输送机设计,看我常用的
明细栏名称填写 HHV
黄明儒提示:数增 HHZ
多段线剖等高线 3Q;立柱2Q
"欢迎使用超强过滤 命令SSS"
统计立柱(m) HHT
超级格式刷SuperBrush,简称MAA
属性块爆破 Burst
插入块 MyI
连续偏移命令 MyO
对象旋转或者文字齐线:QXX
单行文字有道翻译TRS
中心标记 HHC
根据excel参数画联轴器,命令LZQ
驱动架命令 QDJ
打开含"托辊"表的excel,画托辊命令 TG
根据excel参数画滚筒,命令GT
根据excel参数画漏斗,命令LD
块编辑器 AB
单向阵列命令 SAA
AnotherCopy另类拷贝命令 COO
统一目的在于或美观或方便或消除乱码,命令:TY
DDS以当前标注为模版,建立新的标注样式
[测量坐标标注程序]zbb
常用螺栓命令 LSS
以当前Qleader标注画箭头,命令JTT
俯视或仰视图中,桁架标注弧长 Rad
弧长标注: HRR
相关命令2Q HHJB HHL HHX LZZ
连接成多段线 命令DDX
型钢截面 CSS
公差 GC
***临时隐藏命令:REE 恢复命令:空选或RE***
图层 TC GL YC DQ REE
对象随当前层 DQC
常用驱动组合 QDD
表格互换 TTT CE EC T2E E2T
发表于 2022-4-27 08:44:49 | 显示全部楼层
本帖最后由 panliang9 于 2022-4-28 08:30 编辑

谢谢  “尘缘一生” 分享好东西!!!
发表于 2022-4-27 13:40:38 | 显示全部楼层
;;******************************************************绘制文字
(defun 7Xin:MakeText (sText                ;文字
                      ptBase                ;基点
                      fHeight                ;高度
                      sAlign                ;对齐
                      MaxWidth                ;最大宽度
                      /        ANGTEXT BOX EDATA TBL WIDTH
                     
)
  (setq ptBase (trans ptBase 1 0))
  (cond        ((= sAlign "L")
         (setq tbl (list '(72 . 0) (cons 11 ptBase) '(73 . 0)))
        )
        ((= sAlign "C")
         (setq tbl (list '(72 . 1) (cons 11 ptBase) '(73 . 0)))
        )
        ((= sAlign "R")
         (setq tbl (list '(72 . 2) (cons 11 ptBase) '(73 . 0)))
        )
        ((= sAlign "M")
         (setq tbl (list '(72 . 4) (cons 11 ptBase) '(73 . 0)))
        )
        ((= sAlign "TL")
         (setq tbl (list '(72 . 0) (cons 11 ptBase) '(73 . 3)))
        )
        ((= sAlign "TC")
         (setq tbl (list '(72 . 1) (cons 11 ptBase) '(73 . 3)))
        )
        ((= sAlign "TR")
         (setq tbl (list '(72 . 2) (cons 11 ptBase) '(73 . 3)))
        )
        ((= sAlign "ML")
         (setq tbl (list '(72 . 0) (cons 11 ptBase) '(73 . 2)))
        )
        ((= sAlign "MC")
         (setq tbl (list '(72 . 1) (cons 11 ptBase) '(73 . 2)))
        )
        ((= sAlign "MR")
         (setq tbl (list '(72 . 2) (cons 11 ptBase) '(73 . 2)))
        )
        ((= sAlign "BL")
         (setq tbl (list '(72 . 0) (cons 11 ptBase) '(73 . 1)))
        )
        ((= sAlign "BC")
         (setq tbl (list '(72 . 1) (cons 11 ptBase) '(73 . 1)))
        )
        ((= sAlign "BR")
         (setq tbl (list '(72 . 2) (cons 11 ptBase) '(73 . 1)))
        )
  )

  (setq
    angText (+ (atan (cadr (getvar 'UCSXDIR)) (car (getvar 'UCSXDIR)))
               0
            )
  )
  (setq width (cdr (assoc 41 (tblsearch "style" (getvar 'textstyle)))))
  (setq        edata (append (list '(0 . "TEXT")
                            '(100 . "AcDbEntity")
                            '(100 . "AcDbText")
                            (cons 7 (getvar 'TEXTSTYLE))
                            (cons 40 fHeight)
                            (cons 10 ptBase)
                            (cons 1 sText)
                            (cons 50 angText)
                            (cons 41 width) ;字宽
                      )
                      tbl
              )
  )
  (IF MaxWidth
    (PROGN
      (setq box (textbox edata))
      (if (> (- (caadr box) (caar box)) MaxWidth)
        (setq width (/ (* width MaxWidth) (- (caadr box) (caar box)))
              edata (subst (cons 41 width) (assoc 41 edata) edata)
        )
      )
    )
  )
  (entmakeX edata)
)
;;******************************************************绘制文字

;;;;;测试
;;;(defun C:w11 (/ FHEIGHT MAXWIDTH PTBASE SALIGN STEXT)
;;;  (setq sText "文字")
;;;  (setq ptBase '(0 0))
;;;  (setq fHeight 3.5)
;;;  (setq sAlign (getstring "\n 对齐方式:"))
;;;  (setq sAlign (strcase sAlign))
;;;  (setq MaxWidth nil)
;;;  (7Xin:MakeText sText ptBase fHeight sAlign MaxWidth)
;;;  (princ)
;;;)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;仿justifytext
(defun HH:justifytextE (e sAlign)  
  (setq sAlign (strcase sAlign))
  (setq en (entget e))
  (setq box (textbox en))
  (cond
    ((= sAlign "L")
     (setq ptBase (car box))
     (setq en (subst '(72 . 0) (assoc 72 en) en))
     (setq en (subst '(73 . 0) (assoc 73 en) en))
    )
    ((= sAlign "C")
     (setq
       ptBase (list (* (apply '+ (mapcar 'car box)) 0.5) (cadar box))
     )
     (setq en (subst '(72 . 1) (assoc 72 en) en))
     (setq en (subst '(73 . 0) (assoc 73 en) en))
    )
    ((= sAlign "R")
     (setq ptBase (list (caadr box) (cadar box)))
     (setq en (subst '(72 . 2) (assoc 72 en) en))
     (setq en (subst '(73 . 0) (assoc 73 en) en))     
    )
    ((= sAlign "M")
     (setq ptBase (apply 'MJ:MIDPOINT box))
     (setq en (subst '(72 . 4) (assoc 72 en) en))
     (setq en (subst '(73 . 0) (assoc 73 en) en))
    )
    ((= sAlign "TL")
     (setq ptBase (list (caar box) (cadadr box)))
     (setq en (subst '(72 . 0) (assoc 72 en) en))
     (setq en (subst '(73 . 3) (assoc 73 en) en))
    )
    ((= sAlign "TC")
     (setq ptBase (list (car (apply 'MJ:MIDPOINT box)) (cadadr box)))
     (setq en (subst '(72 . 1) (assoc 72 en) en))
     (setq en (subst '(73 . 3) (assoc 73 en) en))
    )
    ((= sAlign "TR")
     (setq ptBase (cadr box))
     (setq en (subst '(72 . 2) (assoc 72 en) en))
     (setq en (subst '(73 . 3) (assoc 73 en) en))
    )
    ((= sAlign "ML")
     (setq ptBase (list (caar box) (cadr (apply 'MJ:MIDPOINT box))))
     (setq en (subst '(72 . 0) (assoc 72 en) en))
     (setq en (subst '(73 . 2) (assoc 73 en) en))
    )
    ((= sAlign "MC")
     (setq ptBase (apply 'MJ:MIDPOINT box))
     (setq en (subst '(72 . 1) (assoc 72 en) en))
     (setq en (subst '(73 . 2) (assoc 73 en) en))
    )
    ((= sAlign "MR")
     (setq ptBase (list (caadr box) (cadr (apply 'MJ:MIDPOINT box))))
     (setq en (subst '(72 . 2) (assoc 72 en) en))
     (setq en (subst '(73 . 2) (assoc 73 en) en))
    )
   
    ((= sAlign "BL")
     (setq ptBase (car box))
     (setq en (subst '(72 . 0) (assoc 72 en) en))
     (setq en (subst '(73 . 1) (assoc 73 en) en))
    )
    ((= sAlign "BC")
     (setq
       ptBase (list (* (apply '+ (mapcar 'car box)) 0.5) (cadar box))
     )
     (setq en (subst '(72 . 1) (assoc 72 en) en))
     (setq en (subst '(73 . 1) (assoc 73 en) en))
    )
    ((= sAlign "BR")
     (setq ptBase (list (caadr box) (cadar box)))
     (setq en (subst '(72 . 2) (assoc 72 en) en))
     (setq en (subst '(73 . 1) (assoc 73 en) en))
    )
  )
  (entmod (subst (cons 11 ptBase) (assoc 11 en) en))
)

(defun HH:justifytext (ss sAlign / E N)
  (repeat (setq n (sslength ss))
    (setq e (ssname ss (setq n (1- n))))
    (HH:justifytextE e sAlign)
  )
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;仿justifytext

;;测试
(defun C:w11 (/ SS STR)
  (setq str (list "L" "M" "R" "C" "TL" "TC" "TR" "ML" "MC" "MR" "BL" "BC" "BR"))
  (setq ss (ssget))
  (while (and str (getpoint))
    (setq s (car str))
    (setq str (cdr str))
    (HH:justifytext ss s)
    (princ "\n")
    (princ s)
  )
  (princ)
)
 楼主| 发表于 2022-4-27 14:42:56 | 显示全部楼层
本帖最后由 尘缘一生 于 2022-4-27 22:59 编辑
自贡黄明儒 发表于 2022-4-27 07:42
这可能是早期的作品,似乎不是搞机械的。
我人事带式输送机设计,看我常用的
明细栏名称填写 HHV

黄大师:你好。我没做任何改变,只是合并一处。重复也没甄别,目的是好进一步的去学习。
     另外,因为我不是搞机械模具的,你有个源码,公差标注,我缺不敢进一步,是真不懂机械这块。
信的开发者,当和我是一个专业的,虽然我不知是谁。从前叫工民建,现在叫土木,我估计是学工民建的大师。它山之石是不是一个人呢?
但是有一点可以肯定,那就是,我指定比他们年龄还大几岁。

发表于 2022-4-28 17:02:47 | 显示全部楼层
我也是工民建专业的,都已经忘干净了,现在是不盖真房子,弄建筑模型了,时间过的可真快。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 09:50 , Processed in 0.225430 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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