乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: prodromosm

[编程交流] 计算打印问题!!

[复制链接]

107

主题

615

帖子

575

银币

中流砥柱

Rank: 25

铜币
521
发表于 2022-7-6 00:47:05 | 显示全部楼层
我试试这个
  1. (vl-load-com)
  2. (defun c:cal (/ A E I L S K)
  3. (if
  4.    (and (setq
  5.    s (ssget '((0 . "ARC,CIRCLE,ELLIPSE,LINE,*POLYLINE,SPLINE")
  6.               (-4 . "<AND")
  7.               (0 . "LWPOLYLINE")
  8.               (70 . 1)
  9.               (-4 . "AND>")
  10.              )
  11.      )
  12. )
  13. (progn
  14.    (initget "A B")
  15.    (setq
  16.      k
  17.       (cond
  18.         ((getkword
  19.            "\n For calculation select [Type 1 (?) / Type 2 (?)] < A > :"
  20.          )
  21.         )
  22.         ("A")
  23.       )
  24.    )
  25. )
  26.    )
  27.     (progn
  28.       (setq l 0.0
  29.      a 0.0
  30.      i 0
  31.       )
  32.       (while (< i (sslength s))
  33. (progn
  34.    (setq e (ssname s i)
  35.          l (+ l
  36.               (vlax-curve-getdistatparam e (vlax-curve-getendparam e))
  37.            )
  38.          a (+ a (vlax-curve-getarea e))
  39.    )
  40. )
  41. (setq i (1+ i))
  42.       )
  43.       (textscr)
  44.       (setq t1        (/ (* (- (expt (+ (sqrt a) 1) 2) a) l 0.25) (sqrt a))
  45.      (setq t2                  (/ (* (- (expt (+ (sqrt a) 4) 2) a) l 0.25) (sqrt a))
  46.            (setq t3 (* a 0.1)
  47.                  (sqrt a)
  48.            )
  49.                           (if (eq k "A")
  50.                             (if        (> t1 t3)
  51.                               (princ (strcat "\n Type 3: " (rtos t3 2 2) " sq.m"))
  52.                               (princ (strcat "\n Type 1: " (rtos t1 2 2) " sq.m"))
  53.                             )
  54.                             (if        (eq k "B")
  55.                               (if (> t2 t3)
  56.                                 (princ (strcat "\n Type 3: " (rtos t3 2 2) " sq.m"))
  57.                                 (princ (strcat "\n Type 1: " (rtos t1 2 2) " sq.m"))
  58.                               )
  59.                               (princ)
  60.                             )
  61.                           )
  62.      )
  63.       )
  64.     )
  65. )
  66. )

 
现在我有了;错误:语法错误
回复

使用道具 举报

107

主题

615

帖子

575

银币

中流砥柱

Rank: 25

铜币
521
发表于 2022-7-6 00:50:51 | 显示全部楼层
错误在哪里?我不明白。我对所有括号都感到困惑:?
回复

使用道具 举报

107

主题

615

帖子

575

银币

中流砥柱

Rank: 25

铜币
521
发表于 2022-7-6 00:57:38 | 显示全部楼层
  1. (vl-load-com)
  2. (defun c:cal (/ A E I L S K t1 t2 t3)
  3. (if
  4.    (and (setq
  5.    s (ssget '((0 . "ARC,CIRCLE,ELLIPSE,LINE,*POLYLINE,SPLINE")
  6.               (-4 . "<AND")
  7.               (0 . "LWPOLYLINE")
  8.               (70 . 1)
  9.               (-4 . "AND>")
  10.              )
  11.      )
  12. )
  13. (progn
  14.    (initget "A B")
  15.    (setq
  16.      k
  17.       (cond
  18.         ((getkword
  19.            "\n For calculation select [Type 1 (Α) / Type 2 (Β)] < A > :"
  20.          )
  21.         )
  22.         ("A")
  23.       )
  24.    )
  25. )
  26.    )
  27.     (progn
  28.       (setq l 0.0
  29.      a 0.0
  30.      i 0
  31.       )
  32.       (while (< i (sslength s))
  33. (progn
  34.    (setq e (ssname s i)
  35.          l (+ l
  36.               (vlax-curve-getdistatparam e (vlax-curve-getendparam e))
  37.            )
  38.          a (+ a (vlax-curve-getarea e))
  39.    )
  40. )
  41. (setq i (1+ i))
  42.       )
  43.       (textscr)
  44.       (setq t1        (/ (* (- (expt (+ (sqrt a) 1) 2) a) l 0.25) (sqrt a))
  45.       )
  46.       (setq
  47. t2 (/ (* (- (expt (+ (sqrt a) 4) 2) a) l 0.25) (sqrt a))
  48.       )
  49.       (setq t3 (* a 0.1))
  50.       (if (eq k "A")
  51. (if (> t1 t3)
  52.    (princ (strcat "\n Type 3: " (rtos t3 2 2) " sq.m"))
  53.    (princ (strcat "\n Type 1: " (rtos t1 2 2) " sq.m"))
  54. )
  55.       )
  56.       (if (eq k "B")
  57. (if (> t2 t3)
  58.    (princ (strcat "\n Type 3: " (rtos t3 2 2) " sq.m")
  59.    )
  60.    (princ (strcat "\n Type 2: " (rtos t2 2 2) " sq.m")
  61.    )
  62. )
  63.       )
  64.       (princ)
  65.     )
  66. )
  67. )

 
我想我已经修好了。。。。。。我很高兴:庆祝::庆祝:
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 00:59:15 | 显示全部楼层
所以,你解决了。祝贺
回复

使用道具 举报

107

主题

615

帖子

575

银币

中流砥柱

Rank: 25

铜币
521
发表于 2022-7-6 01:06:08 | 显示全部楼层
谢谢你的帮助
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 21:15 , Processed in 0.593312 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表