明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 8440|回复: 44

明总,是否允许拿别人的程序卖钱???

    [复制链接]
发表于 2012-3-6 12:34:36 | 显示全部楼层 |阅读模式
各版主,我发现有的人拿别人的程序卖钱,本人认为这是不道德的。
不知版主们对此观点如何???
附别人的:(激光镜面反射LISP)

  1. ;|         ;;
  2. DLaser (dynamic Laser) v.1.0 Copyright ?2010   ;;
  3. Idea conception by: Andrea Andreetti Sept. 2010   ;;
  4. Programmation by: Lee McDonnell and Andrea Andreetti  ;;
  5.          |;
  6. (defun c:DLaser ( / *error* A BASE CODE DATA GR GRLST MUTT P P1 PTS SS TMP  )
  7.   (vl-load-com)
  8.   (defun *error* ( msg )
  9.    
  10.     (setvar 'NOMUTT mutt)
  11.     (and tmp (not (vlax-erased-p tmp)) (vla-delete tmp))
  12.    
  13.     (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
  14.         (princ (strcat "\n** Error: " msg " **")))
  15.    
  16.     (redraw) (princ)
  17.   )
  18.   (LM:ActiveSpace 'doc 'spc)
  19.   (setq mutt (getvar 'NOMUTT))
  20.   
  21.   (if
  22.     (and
  23.       (progn (initget 6)
  24.         (setq ref*
  25.           (cond
  26.             (
  27.               (getint
  28.                 (strcat "\nSpecify Number of Reflections <"
  29.                   (itoa
  30.                     (setq ref* (cond ( ref* ) ( 1 )))
  31.                   )
  32.                   "> : "
  33.                 )
  34.               )
  35.             )
  36.             ( ref* )
  37.           )
  38.         )
  39.       )
  40.       (progn
  41.         (setvar 'NOMUTT 1)
  42.         (princ "\nSelect Objects to Interfere...")
  43.         (setq ss  (LM:ss->vla (ssget '((0 . "ARC,ELLIPSE,*LINE,CIRCLE")))))
  44.       )
  45.       (setvar 'NOMUTT 0)      
  46.       (setq p1  (getpoint "\nPick Laser Location: "))
  47.       (princ "\nDirect Laser...")
  48.     )
  49.     (while
  50.       (progn
  51.         (setq gr (grread t 15 0) code (car gr) data (cadr gr))
  52.         
  53.         (cond
  54.           (
  55.             (= 5 code) (redraw)
  56.             (setq data (polar p1 (angle p1 (cadr gr)) (* 2. (getvar 'VIEWSIZE))))
  57.             (setq a (angle p1 data) base p1 grLst (list base))
  58.             (if
  59.               (
  60.                 (lambda ( i )
  61.                   (while (and (<= (setq i (1+ i)) ref*) (setq pts (GetDeflectionPoints ss base data)))
  62.                     (setq grLst
  63.                       (if (< 2 (length grLst))
  64.                         (append (reverse pts) (cons (car pts) (cdr grLst)))
  65.                         (append (reverse pts) (cons (car pts) grLst))
  66.                       )
  67.                     )
  68.                     
  69.                     (setq base (car pts) data (cadr pts))
  70.                     t
  71.                   )
  72.                 )
  73.                 0
  74.               );;Mod by A.Andreetti
  75.        (progn
  76.   (grvecs (cons 1 (setq grLst (reverse grLst))))
  77.                
  78.   (if (> (distance p1 (cadr gr)) (distance p1 (cadr grLst)))
  79.     (grdraw (cadr gr) (cadr grLst) 8 1)
  80.   )
  81.        )
  82.               (grdraw p1 (polar p1 a (* 2. (getvar 'VIEWSIZE))) 1)
  83.             );;Mod by A.Andreetti
  84.            t
  85.           )
  86.           (
  87.             (= 3 code)
  88.             (setq a (angle p1 data))
  89.             (if grLst
  90.               (not
  91.                 (entmakex
  92.                   (append
  93.                     (list
  94.                       (cons 0 "LWPOLYLINE")
  95.                       (cons 100 "AcDbEntity")
  96.                       (cons 100 "AcDbPolyline")
  97.                       (cons 90 (length (setq grLst (LM:Unique grLst))))
  98.                       (cons 70 0)
  99.                     )
  100.                     (mapcar '(lambda ( p ) (cons 10 p)) grLst)
  101.                   )
  102.                 )
  103.               )
  104.             )
  105.           )
  106.         )
  107.       )
  108.     )
  109.   )
  110.   (setvar 'NOMUTT mutt)
  111.   
  112.   (redraw)
  113.   
  114.   (princ)
  115. )
  116. (defun GetDeflectionPoints ( objs p1 p2 / tmp lst a1 a2 r par )
  117.   (setq tmp (vlax-invoke spc 'AddLine p1 p2))
  118.   (if (setq lst
  119.         (vl-remove 'nil
  120.           (mapcar
  121.             (function
  122.               (lambda ( obj / p )
  123.                 (if (and (setq p (vlax-invoke tmp 'IntersectWith obj acExtendNone))
  124.                          (setq p (vl-remove-if '(lambda ( x ) (equal p1 x 1e-6)) (LM:GroupByNum p 3))))
  125.                   (list obj
  126.                     (car
  127.                       (vl-sort p
  128.                         (function
  129.                           (lambda ( a b ) (< (distance p1 a) (distance p1 b)))
  130.                         )
  131.                       )
  132.                     )
  133.                   )
  134.                 )
  135.               )
  136.             )
  137.             objs
  138.           )
  139.         )
  140.       )
  141.     (progn
  142.       (setq lst
  143.         (car
  144.           (vl-sort lst
  145.             (function
  146.               (lambda ( a b ) (< (distance p1 (cadr a)) (distance p1 (cadr b))))
  147.             )
  148.           )
  149.         )
  150.       )
  151.       (if (setq par (vlax-curve-getParamatPoint (setq e (vlax-vla-object->ename (car lst))) (cadr lst)))
  152.         (progn
  153.           (setq a1 (angle (cadr lst) p1)        
  154.                 a2 (rem
  155.                      (+ (angle '(0. 0. 0.) (vlax-curve-getFirstDeriv e par)) (/ (* 3 pi) 2.))
  156.                      (* 2 pi)
  157.                    )                 
  158.                  r (list (cadr lst) (polar (cadr lst) (+ a2 (- a2 a1)) (* (getvar 'VIEWSIZE) 2.0)))
  159.           )
  160.           (grdraw (cadr lst)
  161.                   (polar (cadr lst) (if (< (/ pi 2.) (abs (- a1 a2))) (+ a2 pi) a2) (* (getvar 'VIEWSIZE) 0.25)) 153 1
  162.           )
  163.         )
  164.       )
  165.     )
  166.   )
  167.   (vla-delete tmp) (setq tmp nil)
  168.   r  
  169. )
  170. ;;--------------------=={ ActiveSpace }==---------------------;;
  171. ;;                                                            ;;
  172. ;;  Retrieves pointers to the Active Document and Space       ;;
  173. ;;------------------------------------------------------------;;
  174. ;;  Author: Lee McDonnell, 2010                               ;;
  175. ;;                                                            ;;
  176. ;;  Copyright ?2010 by Lee McDonnell, All Rights Reserved.   ;;
  177. ;;  Contact: Lee Mac @ TheSwamp.org, CADTutor.net             ;;
  178. ;;------------------------------------------------------------;;
  179. ;;  Arguments:                                                ;;
  180. ;;  *doc - quoted symbol other than *doc                      ;;
  181. ;;  *spc - quoted symbol other than *spc                      ;;
  182. ;;------------------------------------------------------------;;
  183. (defun LM:ActiveSpace ( *doc *spc )
  184.   ;; ?Lee Mac 2010
  185.   (set *spc
  186.     (if
  187.       (or
  188.         (eq AcModelSpace
  189.           (vla-get-ActiveSpace
  190.             (set *doc
  191.               (vla-get-ActiveDocument
  192.                 (vlax-get-acad-object)
  193.               )
  194.             )
  195.           )
  196.         )
  197.         (eq :vlax-true (vla-get-MSpace (eval *doc)))
  198.       )
  199.       (vla-get-ModelSpace (eval *doc))
  200.       (vla-get-PaperSpace (eval *doc))
  201.     )
  202.   )
  203. )
  204. ;;-----------------=={ SelectionSet -> VLA }==----------------;;
  205. ;;                                                            ;;
  206. ;;  Converts a SelectionSet to a list of VLA Objects          ;;
  207. ;;------------------------------------------------------------;;
  208. ;;  Author: Lee McDonnell, 2010                               ;;
  209. ;;                                                            ;;
  210. ;;  Copyright ?2010 by Lee McDonnell, All Rights Reserved.   ;;
  211. ;;  Contact: Lee Mac @ TheSwamp.org, CADTutor.net             ;;
  212. ;;------------------------------------------------------------;;
  213. ;;  Arguments:                                                ;;
  214. ;;  ss - Valid SelectionSet (Pickset)                         ;;
  215. ;;------------------------------------------------------------;;
  216. ;;  Returns:  List of VLA Objects                             ;;
  217. ;;------------------------------------------------------------;;
  218. (defun LM:ss->vla ( ss )
  219.   ;; ?Lee Mac 2010
  220.   (if ss
  221.     (
  222.       (lambda ( i / e l )
  223.         (while (setq e (ssname ss (setq i (1+ i))))
  224.           (setq l (cons (vlax-ename->vla-object e) l))
  225.         )
  226.         l
  227.       )
  228.       -1
  229.     )
  230.   )
  231. )
  232. ;;-----------------=={ Group by Number }==--------------------;;
  233. ;;                                                            ;;
  234. ;;  Groups a list into a list of lists, each of length 'n'    ;;
  235. ;;------------------------------------------------------------;;
  236. ;;  Author: Lee McDonnell, 2010                               ;;
  237. ;;                                                            ;;
  238. ;;  Copyright ?2010 by Lee McDonnell, All Rights Reserved.   ;;
  239. ;;  Contact: Lee Mac @ TheSwamp.org, CADTutor.net             ;;
  240. ;;------------------------------------------------------------;;
  241. ;;  Arguments:                                                ;;
  242. ;;  l - List to process                                       ;;
  243. ;;  n - Number of elements by which to group                  ;;
  244. ;;------------------------------------------------------------;;
  245. ;;  Returns:  List of lists, each of length 'n'               ;;
  246. ;;------------------------------------------------------------;;
  247. (defun LM:GroupByNum ( l n / a b )
  248.   ;; ?Lee Mac 2010
  249.   (while l
  250.     (
  251.       (lambda ( i )
  252.         (while (< 0 i)
  253.           (setq a (cons (car l) a) l (cdr l) i (1- i))
  254.         )
  255.         (setq b (cons (reverse a) b) a nil)
  256.       )
  257.       n
  258.     )
  259.   )
  260.   (reverse b)
  261. )
  262. ;;---------------------=={ Unique }==-------------------------;;
  263. ;;                                                            ;;
  264. ;;  Returns a list containing distinct elements               ;;
  265. ;;------------------------------------------------------------;;
  266. ;;  Author: Lee McDonnell, 2010                               ;;
  267. ;;                                                            ;;
  268. ;;  Copyright ?2010 by Lee McDonnell, All Rights Reserved.   ;;
  269. ;;  Contact: Lee Mac @ TheSwamp.org, CADTutor.net             ;;
  270. ;;------------------------------------------------------------;;
  271. ;;  Arguments:                                                ;;
  272. ;;  lst - List to process                                     ;;
  273. ;;------------------------------------------------------------;;
  274. ;;  Returns: List in which no element appears more than once  ;;
  275. ;;------------------------------------------------------------;;
  276. (defun LM:unique ( lst )
  277.   ;; ?Lee Mac 2010
  278.   (if lst
  279.     (cons (car lst)
  280.       (LM:unique (vl-remove (car lst) lst))
  281.     )
  282.   )
  283. )


点评

你要是缺币,哥给你几个!!!  发表于 2012-3-6 18:27
你是不是有毛病!虚拟币,又不是卖钱!怎么能和道德联系上呢? 再说了要点怎么就不行,辛苦收集的怎么就不能收点币。 有些原创帖子里面用到了别人的源码,是不是应该给原作者支付币呢?这又怎么算呢?  发表于 2012-3-6 18:00

评分

参与人数 3明经币 +3 收起 理由
qcw911 + 1 哥赏你的!
仲文玉 + 1 赞一个!
luoguoqianga + 1 淡定

查看全部评分

发表于 2012-3-6 12:42:25 来自手机 | 显示全部楼层
这才是好人
发表于 2012-3-6 12:44:30 | 显示全部楼层
不做评论。。。
发表于 2012-3-6 13:04:28 | 显示全部楼层
其实这个程序在外国网早就见过。没想到有人拿回来要B.
发表于 2012-3-6 13:37:15 | 显示全部楼层
呵呵,之前我一直认为明经币只是论坛的一种动力币而已,所以只要是好的资料,不管是自己写的或者是收集到的,都可以收点币。
但现在发现,大家对明经币的要求相当高,不是自己的作品,只能共享,不能收费。
如果这样,以后的政策将做进一步调整了。
发表于 2012-3-6 13:39:53 | 显示全部楼层
5楼正解
发表于 2012-3-6 14:21:39 | 显示全部楼层
      我觉得优秀程序适当收点虚拟币也是正常的,毕竟别人也是从别处花时间“淘”来的,当然了不收币那是最好不过的。明经币可以通过论坛的贡献、积分、金钱兑换,1个明经币也就是回几个帖而已!支持论坛才是最关键的!
    支持楼主能够站出来。。。。。。
发表于 2012-3-6 15:04:12 | 显示全部楼层
(defun LM:unique ( lst )
  ;; ?Lee Mac 2010
  (if lst
    (cons (car lst)
      (LM:unique (vl-remove (car lst) lst))
    )
  )
)
支持!上面的循环方式不错,短小精干。
 楼主| 发表于 2012-3-6 15:38:54 | 显示全部楼层
本帖最后由 LLL2011 于 2012-3-6 15:40 编辑

个人观点:
论坛应形成:明经币少的不一定水平低,但明经币多绝对水平高。
      

点评

KO的明经币很多啊,他是高手吗?  发表于 2012-3-9 20:03
同感,支持楼主!  发表于 2012-3-6 16:22
发表于 2012-3-6 18:27:11 | 显示全部楼层
如果涉及版权问题要深究.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-26 03:50 , Processed in 0.235434 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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