找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: eachy

2013-05-21 QQ群:ALISP&VLISP(143438137) 聊天记录:说说怎么画,想要什么

  [复制链接]
发表于 2013-5-21 10:36:39 | 显示全部楼层
爱ing 、生活ing(325561982)于2013-05-21 10-36-39:
第一找人
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2013-5-21 11:36:13 | 显示全部楼层
水手十三/kb(76039118)于2013-05-21 11-36-13:
有这个想法,不过工程比较浩大,现在的技术还不具备。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2013-5-21 11:37:13 | 显示全部楼层
也许沧桑(1436511711)于2013-05-21 11-37-13:
就是2D转3D,还有曲面展开的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-5-21 11:37:31 | 显示全部楼层
水手十三/kb(76039118)于2013-05-21 11-37-31:
[face34.gif]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-5-21 11:38:02 | 显示全部楼层
水手十三/kb(76039118)于2013-05-21 11-38-02:
倒是写了个大小口展开料的插件,简易的,还没完善。。。其他的,放样不是很懂。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2013-5-21 11:41:17 | 显示全部楼层
也许沧桑(1436511711)于2013-05-21 11-41-17:
(defun lgsc (CUR P1 P2 / lgs1);求肋骨实长
  (setq lgs1(abs (- (vlax-curve-getDistAtPoint cur p2)
                    (vlax-curve-getDistAtPoint cur p1)))
        )
  )
(defun TEST (PL1 PL2 / IPTS PTS);求交点
  (setq        IPTS (vla-intersectwith
               (vlax-ename->vla-object PL1)
               (vlax-ename->vla-object PL2)
               acExtendNone ;Does not extend either object
               )
        IPTS (vlax-variant-value IPTS)
        )
  (if (> (vlax-safearray-get-u-bound IPTS 1) 0)
    (progn (setq IPTS
                  (vlax-safearray->list IPTS)
                 )
      (while (> (length IPTS) 0)
        (setq PTS        (cons (list (car IPTS)
                                    (cadr IPTS)
                                    (caddr IPTS)
                                    )
                              PTS
                              )
              IPTS        (cdddr IPTS)
              )
        )
      )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-5-21 11:41:34 | 显示全部楼层
也许沧桑(1436511711)于2013-05-21 11-41-34:
)
  PTS
  )

;计算伸长肋距函数(点1 点2 肋距)
(defun ljsc (lj p1 P2 / lj1)
  (setq        cz(distance p1 p2)
        lj1(sqrt (+ (* cz cz) (* lj lj)))
        )
  )
;计算肋骨冲势函数(中间肋骨交点 交点 邻近肋骨与十字线交点 )
(defun lgcs(pt1 pt2 pt3 pt4 lj / pt12 lgcs)
  (setq        pt12(list (/ (+ (car pt1) (car pt2)) 2)
                  (/ (+ (cadr pt1) (cadr pt2)) 2)
                  0)
        )
  (setq a2(distance pt3 pt4)
        a1(distance pt3 pt12)
        )
  (setq sm(sqrt (+ (* a2 a2) (* lj lj)))
        lgcs(/ (* a1 a2) sm)
        )
  )

; 前端缝线交点(前肋骨端点 肋骨与十字线交点 端缝实长 肋骨实长)
(defun dfjd(pt2 pt1 pl1 pl2 / dfjd)
  (setq apla(distance pt2 pt1)
        ang1(angle pt2 pt1)
        )
  (setq a1(- (+ (* pl1 pl1)(* apla apla))(* pl2 pl2))
        a2(* (* 2 pl1) apla)
        aa(/ a1 a2)
        ang2(atan (/ (sqrt (- 1 (* aa aa))) aa)))
  (if (> (cadr pt2)(cadr pt1))
    (setq ang(- ang1 ang2))
    (setq ang(+ ang1 ang2))
    )
  (setq dfjd(polar pt2 ang pl1))
  )
; 端缝线交点(前肋骨端点 肋骨与十字线交点 端缝实长 肋骨实长)
(defun dfjd1(pt2 pt1 pl1 pl2 / dfjd)
  (setq apla(distance pt2 pt1)
        ang1(angle pt2 pt1)
        )
  (setq a1(- (+ (* pl1 pl1)(* apla apla))(* pl2 pl2))
        a2(* (* 2 pl1) apla)
        aa(/ a1 a2)
        ang2(atan (/ (sqrt (- 1 (* aa aa))) aa)))
  (if (< (cadr pt2)(cadr pt1))
    (setq ang(- ang1 ang2))
    (setq ang(+ ang1 ang2))
    )
  (setq dfjd(polar pt2 ang pl1))
  )
;qxqd(已知曲线 已知曲线上的点 已知曲线上的原点 待求点的曲线  待求点的曲线上的新点 原点
(defun qxqd(cur pt2 pt1 cur1 pt3 pt4 / ajl ajl1 p4a p4b aa)
  (setq ajl(abs (- (vlax-curve-getDistAtPoint cur pt2)
                   (vlax-curve-getDistAtPoint cur pt1)))
        );求出曲线上两点距离
  (setq aj11 (vlax-curve-getDistAtPoint cur1 pt3));求出另一曲线开始点到指定点的距离
  (Setq p4a(vlax-curve-getPointAtDist cur1 (+ aj11 ajl))
        p4b(vlax-curve-getPointAtDist cur1 (- aj11 ajl))
        );根据后曲线所得弧线长求出前反向弧长的坐标点(即该曲线的测地点)
  (setq ajl(abs (- aj11 (vlax-curve-getDistAtPoint cur1 pt4)))
        ajl1(abs (- (vlax-curve-getDistAtPoint cur1 pt4)
                    (vlax-curve-getDistAtPoint cur1 p4a)))
        );求出曲线上两点距离
  (if (>= ajl ajl1)
    (setq aa p4a)
    (setq aa p4b)
    );求出该曲线的测地点
  )

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

使用道具 举报

发表于 2013-5-21 11:41:45 | 显示全部楼层
也许沧桑(1436511711)于2013-05-21 11-41-45:
(defun C:wbzk()
  (VL-LOAD-COM)
  (setq osm (getvar"osmode"))
  (prompt"第一步:按从冲势方向顺序依次选择首端缝前肋骨线、肋骨线、、未端缝后肋骨线")
  (setq lgx(ssget));肋骨对象集
  (setq lgs(atof (itoa(sslength lgx)));计算肋骨对象集中对象的数量
        zjlg(FIX(/ lgs 2)));计算中间肋骨位置
  (prompt"第二步:依次选择上端缝线、下端缝线")
  (setq sdf(entsel"\n选择上端缝线:");上端线
        xdf(entsel"\n选择下端缝线:"));下端线
  (setq splist nil
        xplist nil
        n -1
        )
  (setvar "osmode" 0)
  (repeat (fix lgs)
    (setq as(ssname lgx (setq n (1+ n)))
          pt1(car(test (car sdf) as))
          pt2(car (test (car xdf) as))
          splist (append splist (list pt1));求出上端缝交点集
          xplist (append xplist (list pt2));求出下端缝交点集
          )
    )
  (setq pt1(list (/ (+ (car (nth 0 splist)) (car (nth 0 xplist))) 2)
                 (/ (+ (cadr (nth 0 splist)) (cadr (nth 0 xplist))) 2))
        pt2(list (/ (+ (car (nth (- (fix lgs)1) splist)) (car (nth (- (fix lgs)1) xplist))) 2)
                 (/ (+ (cadr (nth (- (fix lgs)1) splist)) (cadr (nth (- (fix lgs)1) xplist))) 2))
        );求出前端缝、未端缝弦线的中点
  (setq PL1(ssname lgx 0)
        PL2(ssname lgx (- (fix lgs) 1))
        )
  (setq cc1(vlax-curve-getClosestPointTo (vlax-ename->vla-object PL1) pt1)
        cc2(vlax-curve-getClosestPointTo (vlax-ename->vla-object PL2) pt2)
        )
  (setq aaa(angle CC1 CC2)
        CCA(polar CC1 (- aaa pi) 200)
        CCb(polar CC2 aaa 200)
        )
  (command "line" cca ccb "");绘出前端缝、未端缝线垂线的连线
  
  (setq PL1(entlast)
        cdplists nil
        n (+ 2 zjlg)
        a  n
        )
  (repeat a
    (setq pl(ssname lgx (setq n(1- n))))
    (if (/= pl nil)
      (progn
        (setq aa(car(test PL1 PL))
              cdplists (append cdplists (list aa)))
        )
      )
    );求出向首测地点点集
  
  (setq cdplistw nil
        n (- zjlg 1)
        a (+ 1 zjlg)
        )
  (repeat a
    (setq pl(ssname lgx (setq n(1+ n))))
    (if (/= pl nil)
      (progn
        (setq aa(car(test PL1 PL))
              cdplistw (append cdplistw (list aa)))
        )
      )
    );求出向尾测地点点集
  (entdel PL1)
  
  (setq n (+ 1 zjlg)
        scddj nil)
  (setq m 0)
  (repeat zjlg
    (setq Pt1(nth (setq n(1- n)) splist)
          Pt2(nth n xplist)
          pt3(list (/ (+ (car pt1) (car pt2))2)
                   (/ (+ (cadr pt1) (cadr pt2))2)
                   )
          )
    (command "line" pt1 pt2 "")
    (setq PL1(entlast))
    (setq cc1(vlax-curve-getClosestPointTo (vlax-ename->vla-object PL1) (nth (setq m(1+ m)) cdplists)))
    (entdel PL1)
    (if (= (distance (nth m cdplists) cc1) 0.0)
      (command "xline" (polar (nth m cdplists) pi 500) cc1 "")
      (command "xline" (nth m cdplists) cc1 "")
      )
    (setq PL1(entlast)
          PL2(ssname lgx (- N 1))
          PL3(ssname lgx (+ 1 N))
          )
    (setq cc2(car (test PL1 PL3))
          cc3(nth (1- m) cdplists)
          cc4(nth (1+ m) cdplists)
          cc5(car (test PL1 PL2))
          )
    (setq aa(qxqd PL3 cc2 cc3 PL2 cc5 cc4)
          scddj (append scddj (list aa))
          )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-5-21 11:41:56 | 显示全部楼层
也许沧桑(1436511711)于2013-05-21 11-41-56:
)
    (entdel PL1)
    );求出首测地点集
  
  (setq n zjlg
        wcddj nil)
  (setq m 0)
  (if (= (rem lgs 2 2) 0)
    (setq a (- zjlg 2))
    (setq a (- zjlg 1))
    )
  (repeat a
    (setq Pt1(nth (setq n(1+ n)) splist)
          Pt2(nth n xplist)
          pt3(list (/ (+ (car pt1) (car pt2))2)
                   (/ (+ (cadr pt1) (cadr pt2))2)
                   )
          )
    (command "line" pt1 pt2 "")
    (setq PL1(entlast))
    (setq cc1(vlax-curve-getClosestPointTo (vlax-ename->vla-object PL1) (nth (setq m(1+ m)) cdplistw)))
    (entdel PL1)
    (if (= (distance (nth m cdplistw) cc1) 0.0)
      (command "xline" (polar (nth m cdplistw) pi 500) cc1 "")
      (command "xline" (nth m cdplistw) cc1 "")
      )
    (setq PL1(entlast)
          PL2(ssname lgx (+ 1 N))
          PL3(ssname lgx (- N 1))
          )
    (setq cc2(car (test PL1 PL3))
          cc3(nth (1+ m) cdplistw)
          cc4(nth (1- m) cdplistw)
          cc5(car (test PL1 PL2))
          )
    (setq aa(qxqd PL3 cc2 cc4 PL2 cc5 cc3)
          wcddj (append wcddj (list aa))
          )
    (entdel PL1)
    );求出尾测地点集
  
  ;测地点排序
  (setq n (length scddj)
        cddj nil)
  (repeat (length scddj)
    (setq aa(nth (setq n(1- n)) scddj)
          cddj (append cddj (list aa))
          )
    )
  (setq n 2)
  (repeat 2
    (setq aa(nth (setq n(1- n)) cdplists)
          cddj (append cddj (list aa))
          )
    )
  (setq n -1)
  (setq a(length wcddj))
  (if (/= nil a)
    (progn
      (repeat a
        (setq aa(nth (setq n(1+ n)) wcddj)
              cddj (append cddj (list aa))
              )
        )
      )
    )
  ;接受输入肋骨间距
  (prompt"第三步:按冲势方向依次输入肋距,如果肋距相同则只输入一个。输入格式a,b,c....")
  (setq bs(strcase(GETstring "\n是变化肋距吗(y): ")))
  (setq ljj nil)
  (if (/= bs "Y")
    (progn
      (setq lj(atof (GETstring "\n输入肋距值: ")))
      (repeat (fix (- lgs 1))
        (setq ljj(append ljj (list lj)))
        )
      )
    (progn
      (setq ljj nil)
      (setq lj(atof (GETstring "\请按从首向尾的顺序依次输入肋距值: ")))
      (setq ljj(append ljj (list lj)))
      (setq aa(length ljj))
      (while (/= lj nil)
        (setq lj(atof (GETstring "\下一个肋距值: ")))
        (setq ljj(append ljj (list lj)));交点集
        (setq aa(length ljj))
        (if (= aa (- lgs 1))
          (SETQ lj nil)
          )
        )
      )
    )
  ;计算上端肋骨实长
  (setq aa(length splist)
        n -1
        sdgsc nil )
  (repeat aa
    (setq pts1(nth (setq n(1+ n)) splist)
          pts2(nth n cddj)
          lgll(ssname lgx n)
          )
    (setq lgs1(lgsc lgll pts1 pts2)
          sdgsc(append sdgsc (list lgs1));交点集
          )
    )
  ;计算下端肋骨实长
  (setq aa(length xplist)
        n -1
        xdgsc nil )
  (repeat aa
    (setq pts1(nth (setq n(1+ n)) xplist)
          pts2(nth n cddj)
          lgll(ssname lgx n)
          )
    (setq lgs1(lgsc lgll pts1 pts2)
          xdgsc(append xdgsc (list lgs1));交点集
          )
    )
  ;计算上端肋距实长
  (setq aa(length ljj)
        n -1
        sdjsc nil )
  (repeat aa
    (setq pts1(nth (setq n(1+ n)) splist)
          pts2(nth (+ n 1) splist)
          ljj1(nth  n ljj)
          )
    (setq ljc(ljsc ljj1 pts1 pts2)
          sdjsc(append sdjsc (list ljc));交点集
          )
    )
  ;计算中端肋距实长
  (setq aa(length ljj)
        n -1
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-23 18:26 , Processed in 0.415918 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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