乐筑天下

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

相信大家有这样的需要

[复制链接]

1

主题

2

帖子

2

银币

初来乍到

Rank: 1

铜币
6
发表于 2003-3-23 18:03:00 | 显示全部楼层 |阅读模式
有这样的软件吗?
1。area只能一个一个算面积,有小框选算总面积吗?
2。有一些东西被重复插入了两次,不幸的是都被炸开了,需要删除一个(即完全相同的物体有两个),好像以前我看到过有个可以删除重合的线条的……
回复

使用道具 举报

29

主题

1152

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1268
发表于 2003-3-24 08:43:00 | 显示全部楼层
;| Programmed by Dave Aguilar
   DUPREM.LSP  1994 Onyx Software
This program creates an list of entity lists for all entities in the
drawing (using the first VERTEX for POLYLINES) and then compares each
entity list with the total list, building a new selection set of all
duplicate entries which are then erased.
it's not guarenteed but try it on a copy of a badly duplicated drawing
and see if it helps.
------------------------------------------------------------------------
------------------------------------------------------------------------
Modified by J. Tippit, SPAUG President                                08/25/99
    E-mail:                     cadpres@spaug.org
    Web Site:                http://www.spaug.org
        1. Modified to work with R14 & 2000
        2. Now prompts for 3 types of selection sets
        3. Works on all types of entities (including LWPOLYLINES)
Large donations to SPAUG is appreciated. :)
------------------------------------------------------------------------
------------------------------------------------------------------------
|;
(defun CUPREM        ()
  (setvar "cmdecho" 0)
  (setq        F1 NIL
        F1 0
  )
  ;; Added by Jeff Tippit 08/25/99
  ;; Start
  (initget "S L A")
  (setq        SLE
         (getkword
           "\nSelect objects by election set, imits, or ll: "
         )
  )
  (cond
    ((= SLE "S") (setq SA (ssget)))
    ((= SLE "L")
     (setq SA (ssget "c" (getvar "extmin") (getvar "extmax")))
    )
    ((= SLE "A")
     (setq SA (ssget "X" (list (cons 410 (getvar "CTAB")))))
    )
  )
  ;; End
  (setq        CA 0
        TA (sslength SA)
        LA NIL
        LB NIL
  )
  (while (< CA TA)
    (setq ENTA (ssname SA CA)
          EA   (cdr (entget ENTA))
          TYPA (cdr (assoc 0 EA))
    )
    ;;      (if (= typa &quotOLYLINE") (progn
    ;;         (setq entb (entnext enta) ea (cdr (entget entb)))
    ;;      ))
    ;; Added by Jeff Tippit 08/25/99
    ;; Updated for R14 & 2000
    ;; Start
    (setq A1 (assoc 5 EA))
    (setq A2 (cons 5 ""))
    (setq EA (subst A2 A1 EA))
    (if        (wcmatch (getvar "ACADVER") "*15*")
      (progn
        (setq A3 (assoc 330 EA))
        (setq A4 (cons 330 ""))
        (setq EA (subst A4 A3 EA))
      )
    )
    (if        (= TYPA "VIEWPORT")
      (progn
        (setq A3 (assoc 69 EA))
        (setq A4 (cons 69 ""))
        (setq EA (subst A4 A3 EA))
        (setq A3 (assoc 68 EA))
        (setq A4 (cons 68 ""))
        (setq EA (subst A4 A3 EA))
      )
    )
    ;; End
    (setq LA (cons ENTA LA)
          LB (cons EA LB)
          CA (+ CA 1)
    )
  )
  (setq        SC    NIL
        SC    (ssadd)
        LTEST LB
  )
  (setq CA 0)
  (setq        TES   (car LTEST)
        LTEST (cdr LTEST)
        TA    NIL
        TA    (length LTEST)
  )
  (while (/= TA 0)
    (if        (member TES LTEST)
      (progn
        (setq SC (ssadd (nth CA LA) SC))
        ;;(prompt "\nFound aduplicate entity.")
        (setq F1 (+ F1 1))
      )
    )
    (setq CA (+ CA 1))
    (setq TES        (car LTEST)
          LTEST        (cdr LTEST)
          TA        (length LTEST)
    )
  )
  (command "_.erase" SC "")
  (redraw)
  (prompt "\n")
  (prin1 F1)
  (prompt " duplicate entities erased.")
  (princ)
)
(prompt
  "\nType DUPREM to run. Delete duplicate entity routine Ver 2.0 loaded."
)
(princ)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-6-5 04:25 , Processed in 0.662123 second(s), 68 queries .

© 2020-2025 乐筑天下

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