664571221 发表于 2020-7-6 15:06:31

求各位大神看下帮我改下这个程序选面积标注出计算式

本帖最后由 664571221 于 2020-7-7 09:45 编辑

图上已经有面积或者长度的标注比如A=1M2A=2M2,我现在想框选这些标注按前面这些标注,出一个计算式和结果,如A=1+2=3M2,请大神改正下

(defun c:CDXJ ( )
    (setq sum+ "L=")
    (setq sum 0.0)
    (while(setq ss(entsel))
            (setq get_txt (cdr (assoc 1(entget (car ss)))));
            (setq get_num (substr get_txt 3 (- (strlen get_txt) 4) ) );
            (setq sum (+ sum (atof get_num )))
            (setq sum+ (strcat sum+ get_num "+"))
   )
   (setqsum+(strcat (substr sum+ 1 (1- (strlen sum+) )) "=" ))
   (princ sum+)(princ sum)

((
       (setq sum1(strcat "" sum+ "" ))
       (set-clip-string sum+ )         ;複製到剪貼簿
       (vl-cmdf "_.text" "j" "mc" (getpoint "\n文本放置點") "250" "0" sum+)
       (and bak_cecolor (setvar 'cecolor bak_cecolor))
       (and bak_dimzin (setvar 'dimzin bak_dimzin))
       )
   )
   ;(setvar "osmode" osmode)
   (setvar "cmdecho" 1)
   (princ)


   )


;;剪貼簿函數
(defun set-clip-string (str / html result)
(and
    (= (type str) 'str)
    (setq html (vlax-create-object "htmlfile"))
    (setq result (vlax-invoke (vlax-get (vlax-get html 'parentwindow)
                                        'clipboarddata
                              ) 'setdata "Text" str
               )
    )
    (vlax-release-object html)
)
)

tryhi 发表于 2020-7-6 16:29:31

楼主这120个提问帖没问出点经验来,提问至少要给出应用场景吧,应用效果吧,除了13行两层莫名其妙的括号来看不出来你要问什么
页: [1]
查看完整版本: 求各位大神看下帮我改下这个程序选面积标注出计算式