发布一个线变H型钢的程序,求改为线变5#角钢的
这个程序可能是莫一位前辈的,不好意思~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~绘制H钢
;;;; 选择线,变型钢俯视图, 0.00001版本
;;;; 说明:选用DASH为腹板线型,可自己修改,此时建议的图纸比例是 1:1的绘制法
;;;; 绘制的型钢是在当前层,所以要先定义到 型钢图层,再进行绘制
;;;; 型钢截面,现在是将就定义了一种 200*500*12*20的截面
(defun c:hg ( / c dislst h-section l1type l2type layer linetypelst x) ; ' b h tw tf
;;;; 分别是 宽度 高度 腹板厚度 翼缘厚度
(setq H-section (list 200 500 12 20))
(setq dislst (list (- (/ (nth 0 H-section) 2.0))
(- (/ (nth 3 H-section)2.0))
(/ (nth 3 H-section) 2.0)
(/ (nth 0 H-section) 2.0)
)
)
;;线型选用 DASH作为虚线
(setq l1type "CONTINUOUS" l2type "DASH")
;;;俯视图的时候,按 实线虚线 虚线 实线 的排列
(setq linetypelst (list l1type l2type l2type l1type))
(setq layer (getvar "CLAYER"))
(prompt "\n 【江普咨询】提示你:请选择变为H钢的中心线:")
(setq c (ssget '((0 . "LINE"))))
(setq c (std-sslist c))
(foreach x c
(qffMakeLine x dislst layer linetypelst)
)
(princ)
)
;;; 选择集变列表 from Stdlib
(defun std-sslist (ss / n lst)
(if (eq 'pickset (type ss))
(repeat (setq n (fix (sslength ss))) ; fixed
(setq lst (cons (ssname ss (setq n (1- n))) lst))
)
)
)
;;; entmake line
(defun q:entmake:line (pt1 pt2 layer linetype)
(entmake (list (cons 0 "LINE") ; ***
缺少函数(defun qffMakeLine -------- ;;; entmake line
(defun q:entmake:line (pt1 pt2 layer linetype)
(entmake
(mapcar 'cons '( 0 10 11 8 6) (list "LINE" pt1 pt2 layer linetype))
)
)
谢Z版,楼上的源码不完整吧?求个完整的 ZZXXQQ 发表于 2014-1-20 08:09 static/image/common/back.gif
感谢 Z版 分享简洁得函数!
页:
[1]