tyrasv 发表于 2015-1-8 17:39:54

求一个数学表达式程序,讲的很明白。求大神


carrot1983 发表于 2015-1-8 17:39:55

;; 命令: TT
(defun C:TT (/ AREA E ELIST LST N NUM SS TEXT TEXTPT TEXTSIZE TOTAL)
(princ "\n按比例分摊承包合同面积标注")
(princ "\n作者:carrot1983 QQ:95818608 2015年01月09日")
(command ".-LAYER" "M" "分摊面积标注""C" 2 "分摊面积标注" "")
(princ "\n选择三个地块的面积数字")
(if (and (setq SS (ssget '((0 . "TEXT")
         (8 . "面积标注")
         (1 . "~*[~`--9]*")
          )
      )
   )
   (setq AREA (getreal "\n输入已知的承包合同面积<退出>: "))
      )
    (progn
      (setq LST NIL)
      (repeat (setq N (sslength SS))
(setq E (ssname SS (setq N (1- N))))
(setq ELIST (entget E))
(setq NUM (atof (cdr (assoc 1 ELIST))))
(setq LST (cons (list E NUM) LST))
      )
      (setq TOTAL (apply '+ (mapcar 'cadr LST)))
      (foreach X LST
(setq E (car X))
(setq NUM (cadr X))
(setq TEXT (rtos (/ (* NUM AREA) 1.0 TOTAL) 2 2))
(setq ELIST (entget E))
(setq TEXTSIZE (cdr (assoc 40 ELIST)))
(setq TEXTPT (cdr (assoc 10 ELIST)))
(setq TEXTPT (polar TEXTPT (* 1.5 pi) (* 1.1 TEXTSIZE)))
(setq ELIST (subst (cons 1 TEXT)
         (assoc 1 ELIST)
         ELIST
      )
)
(setq ELIST (subst (cons 8 "分摊面积标注")
         (assoc 8 ELIST)
         ELIST
      )
)
(setq ELIST (subst (cons 10 TEXTPT)
         (assoc 10 ELIST)
         ELIST
      )
)
(entmake ELIST)
      )
    )
)
(princ)
)

llsheng_73 发表于 2015-1-8 18:22:49

本帖最后由 llsheng_73 于 2015-1-8 18:24 编辑

晕,难道最后面积以原承包合同面积为准么?
另外这个功能20明经币买不到
宁可白送,绝不贱卖

tyrasv 发表于 2015-1-8 19:08:09

llsheng_73 发表于 2015-1-8 18:22 static/image/common/back.gif
晕,难道最后面积以原承包合同面积为准么?
另外这个功能20明经币买不到
宁可白送,绝不贱卖

本人不会写程序,不知道这个东西难不难,给20币是辛苦费,没有其他意思,绝对没有其他意思。   
不会以原承包合同面积,主要是要填写原承包合同面积。本来要每户每块地块算的,但是太麻烦了,。

鱼与熊掌 发表于 2015-1-8 19:47:56

>..额...好吧没什么问题...

vormittag 发表于 2015-1-9 09:43:12

什么是已知条件,求什么,结果怎么表示,这些说都说不清,还讲的很明白。。。。

tyrasv 发表于 2015-1-9 09:53:42

vormittag 发表于 2015-1-9 09:43 static/image/common/back.gif
什么是已知条件,求什么,结果怎么表示,这些说都说不清,还讲的很明白。。。。

已知是承包合同面积啊,         求的是A.B.C,   表示的话可以覆盖A.B.C,也可以覆盖上面原有的面积。

vormittag 发表于 2015-1-9 09:58:44

0.32 0.79 0.25 这是啥?已知条件还是举例? 覆盖面积是啥意思?直接改这三个数字?

tyrasv 发表于 2015-1-9 11:19:19

vormittag 发表于 2015-1-9 09:58 static/image/common/back.gif
0.32 0.79 0.25 这是啥?已知条件还是举例? 覆盖面积是啥意思?直接改这三个数字?

0.32   0.79   0.25是地块的面积,是已知条件,只不过是换算成了亩数。覆盖面积就是可以覆盖0.320.790.25      ,最好能单独生个层,生成换算的面积或者算出来的面积换个颜色也行。

tyrasv 发表于 2015-1-9 12:38:52

本帖最后由 tyrasv 于 2015-1-9 13:01 编辑

carrot1983 发表于 2015-1-9 12:01 static/image/common/back.gif

真心感谢,
页: [1] 2
查看完整版本: 求一个数学表达式程序,讲的很明白。求大神