明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: CADghost

复杂的计算

  [复制链接]
发表于 2004-6-22 23:03:00 | 显示全部楼层
按剩余量、能切个数、材料规格排了出来,按剩余量大小排列顺序,剩余量是所剩材料的面积(没记厚度,不同厚度应该不能使用吧)至于用哪个,你自己选吧
  1. (defun An_Sta(sta / i strtmp data ch)
  2.    (setq i 1)
  3.    (setq strtmp "" data "")
  4.    (repeat (strlen sta)
  5.        (setq ch (substr sta i 1))
  6.        (if (or (= ch "-") (= ch "x"))
  7.            (progn
  8.   (setq data (strcat data strtmp " "))
  9.   (setq strtmp "")
  10.            )
  11.            (setq strtmp (strcat strtmp ch))
  12.        )
  13.        (setq i (1+ i))
  14.    )
  15.    (setq data (strcat data strtmp))
  16.    (read (strcat "(" data ")"))
  17. )
  18. (defun c:mat( / lib sta seldata res)
  19.    (setq lib '("-2100x20x9000" "-2200x20x8500" "-2300x20x7000" "-2250x20x8700"))
  20.    (setq s 2);切割系数
  21.    (while (not (wcmatch (setq sta (getstring "输入规格:")) "*x*")))
  22.    (setq lib (mapcar 'an_sta lib))
  23.    (setq sta (an_sta sta))
  24.    (setq seldata (mapcar '(lambda(e) (if (and (= (cadr e) (cadr sta)) (>= (last e) (last sta))) e nil)) lib))
  25.    (if (setq seldata (vl-remove nil seldata))
  26.        (progn
  27.            (setq res (mapcar '(lambda(e / re1 re2 n)
  28.            (setq re1 (- (car e) (* (setq n (fix (/ (car e) (+ s (car sta))))) (+ s (car sta)))))
  29.            (setq re2 (- (last e) (* (fix (/ (last e) (+ s (last sta)))) (+ s (last sta)))))
  30.            (list (* re1 re2) n (strcat "-" (rtos (car e)) "x" (rtos (cadr e)) "x" (rtos (caddr e))))
  31.        )
  32.    seldata)
  33.            )
  34.            (setq res (vl-sort res '(lambda(e1 e2) (< (car e1) (car e2)))))
  35.            (prin1 res)
  36.        )
  37.        (princ "没有符合要求的材料规格!")
  38.    )
  39.    (princ)
  40. )
 楼主| 发表于 2004-6-23 13:50:00 | 显示全部楼层
老版,谢谢你,哥们再研究研究,有问题再请教!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 12:52 , Processed in 0.141884 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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