DIỄN ĐÀN TƯ VẤN XÂY DỰNG THÀNH GIA

Hiện tại bạn đang là khách viếng thăm của Diễn Đàn Tư Vấn Xây Dựng Thành Gia – Nơi Hội Tụ Nhân Tài Xây Dựng. Nếu chưa có tài khoản, xin mời bạn Click chuột vào nút Đăng Ký bên dưới hoặc Click vào nút Đăng Nhập nếu bạn đã là thành viên chính thức để hưởng trọn quyền lợi của Diễn Đàn dành cho bạn. Mọi thắc mắc liên hệ với Ban Quản Trị qua địa chỉ: Ctythanhgia@gmail.com
Cảm ơn bạn đã ghé thăm Diễn Đàn của chúng tôi!
Lưu ý: Bạn chỉ được phép sử dụng Tiếng Việt có dấu hoặc Tiếng Anh trên Diễn Đàn và chỉ có thành viên mới được quyền viết bài, nhận xét trên Diễn Đàn!
Chúc bạn thu được nhiều kiến thức từ việc tham gia Diễn Đàn của chúng ta!
DIỄN ĐÀN TƯ VẤN XÂY DỰNG THÀNH GIA

Chia sẻ tài nguyên chuyên ngành xây dựng

Thông tin Admin


Quản trị: Nguyễn Anh Tuấn
Email: Ctythanhgia@gmail.com
Ctythanhgia@yahoo.com
Điện thoại: 0914.524.611

Latest topics

» Trường Seneca
Sat Jun 16, 2018 9:38 am by nghiagopal

» SOUTHERN OREGON UNIVERSITY
Fri Jun 15, 2018 4:52 pm by nghiagopal

» Sault College
Fri Jun 15, 2018 4:51 pm by nghiagopal

» Tại sao chọn Đại học Oregon?
Tue Jun 12, 2018 9:37 am by nghiagopal

» Tại sao chọn George Brown College?
Tue Jun 12, 2018 9:34 am by nghiagopal

» Điểm nổi bật của Đại học Texas Tech
Mon Jun 11, 2018 3:15 pm by nghiagopal

» Học viện Informatics ở Singapore
Mon Jun 11, 2018 3:14 pm by nghiagopal

» Virginia Commonwealth University
Thu Jun 07, 2018 10:21 am by nghiagopal

» Chương trình thực tập hưởng lương $800-$1200/ tháng tại học viện tin học Singapore
Thu Jun 07, 2018 10:14 am by nghiagopal

» Lambton College (Canada)
Wed Jun 06, 2018 3:30 pm by nghiagopal

Lịch vạn niên

Từ điển online


Tra theo từ điển:



Keywords

Poll

Bạn đang dùng phần mềm dự toán nào?
18% 18% [ 111 ]
34% 34% [ 215 ]
15% 15% [ 94 ]
3% 3% [ 18 ]
6% 6% [ 37 ]
15% 15% [ 95 ]
9% 9% [ 54 ]

Tổng số bầu chọn : 624

Quảng Cáo

free forum

free forum

free forum

free forum

free forum

Statistics

Tổng số bài viết đã gửi vào diễn đàn là 1658 in 1240 subjects

Diễn Đàn hiện có 5686 thành viên

Chúng ta cùng chào mừng thành viên mới đăng ký: KinhCuongLucSaiGon

Thống Kê

Hiện có 1 người đang truy cập Diễn Đàn, gồm: 0 Thành viên, 0 Thành viên ẩn danh và 1 Khách viếng thăm

Không


[ View the whole list ]


Số người truy cập cùng lúc nhiều nhất là 14 người, vào ngày Tue Jul 26, 2016 12:29 pm

Bản đồ online


Lisp Fillet autocad 2012 va 2013

Share
avatar
Admin
Admin
Admin

Giới tính : Nam Tổng số bài gửi : 826
Sinh nhật : 09/04/1981
Ngày tham gia : 13/08/2011
Tuổi : 37
Việc làm/sở thích : Tư vấn thiết kế, giám sát thi công, quản lý dự án...

default Lisp Fillet autocad 2012 va 2013

Bài gửi by Admin on Fri Jan 25, 2013 5:31 pm

Lisp Fillet autocad 2012 va 2013


[You must be registered and logged in to see this link.]
Code:
;;; MY-FILLET.LSP Fillet PolyLines
;;; Fillets Any Type of Line (Line, PolyLine, LWPolyLine or Spline)
;;; by Ibro Vehabovic, March 1999.
;;; http://forums.autodesk.com/t5/Visual-LISP-AutoLISP-and-General/Join-then-fillet-polylines/td-p/.UNyL7-SLlyI

(defun c:my-fillet (/ getval spl2pl e1 e2 p2 l e ss)

;;; GETVAL - returns the group value of an entity.
;;; like the wellknown (dxf) function but accepts all kinds of
;;; entity representations (ename, entget list, entsel list)
  (defun GETVAL   (grp ele)      ;"dxf value" of any ent...
    (cond ((= (type ele) 'ENAME)   ;ENAME
     (cdr (assoc grp (entget ele)))
     )
     ((not ele) nil)      ;empty value
     ((not (listp ele)) nil)   ;invalid ele
     ((= (type (car ele)) 'ENAME)   ;entsel-list
     (cdr (assoc grp (entget (car ele))))
     )
     (T (cdr (assoc grp ele)))
    )
  )               ;entget-list

;;; "converts" SPLINE to PLINE
  (defun spl2pl   (ent / osm pdm deltaL pn pts e)
    (setq osm (getvar "OSMODE"))
    (setq pdm (getvar "PDMODE"))
    (setvar "OSMODE" 0)
    (setvar "PDMODE" 0)
    (setq
      deltaL (*   (/ (GETVAR "viewsize") (CADR (GETVAR "screensize")))
      (getvar "pickbox")
      2.0
       )
    )               ; max segment=2 * size of
    pickbox
    (if   (= (getval 0 ent) "POLYLINE")   ; heavy pline
      (progn
   (setq e ent)
   (while (= (getval 0 (setq e (entnext e))) "VERTEX")
     (setq pts (cons (getval 10 e) pts))
   )
   (setq pn  (car pts)
         pts (list (last pts))
   )
      )
      (setq pts   (list (getval 10 ent))   ; start pt
       pn   (getval 10 (reverse (entget ent)))
      )
    )               ; end pt
    (command ".POINT" pn)
    (setq e (entlast))
    (entdel e)
    (command ".AREA" "_O" ent)
    (command ".DIVIDE"
       ent
       (fix (/ (getvar "perimeter") deltaL))
    )
    (while (setq e (entnext e))
      (setq pts (cons (getval 10 e) pts))
      (entdel e)
    )
    (setq pts (reverse (cons pn pts)))
    (apply 'command (append '(".PLINE") pts '("")))
    (command ".CHANGE"
       (entlast)
       ""
       "_P"
       "_LA"
       (getval 8 ent)
       ""
    )
    (if   (getval 62 ent)
      (command ".CHANGE"
         (entlast)
         ""
         "_P"
         "_C"
         (getval 62 ent)
         ""
      )
    )
    (entdel ent)
    (setvar "PDMODE" pdm)
    (setvar "OSMODE" osm)
    (entlast)
  )               ;defun spl2pl

  (setvar "cmdecho" 0)
  (command "._UNDO" "_BE")
  (while (null (setq e1 (entsel "nSelect first object: "))))
  (if (= (getval 0 e1) "SPLINE")
    (setq e1 (list (spl2pl (car e1)) (cadr e1)))
  )
  (if (= (getval 0 e1) "POLYLINE")
    (if   (> (getval 70 e1) 1)
      (setq e1 (list (spl2pl (car e1)) (cadr e1))) ;fit or spline
      (command ".CONVERTPOLY" "_L" (car e1) "")
    )
  )               ;heavy pline
  (redraw (car e1) 3)
  (while (null (setq e2 (entsel "nSelect second object: "))))
  (if (= (getval 0 e2) "SPLINE")
    (setq e2 (list (spl2pl (car e2)) (cadr e2)))
  )
  (if (= (getval 0 e2) "POLYLINE")
    (if   (> (getval 70 e2) 1)
      (setq e2 (list (spl2pl (car e2)) (cadr e2))) ;fit or spline
      (command ".CONVERTPOLY" "_L" (car e2) "")
    )
  )               ;heavy pline
  (redraw (car e2) 3)
  (setq p2 (cadr e2))
  (setq e2 (car e2))
  (if (and (= (getval 0 e1) "LWPOLYLINE")
     (= (getval 0 e2) "LWPOLYLINE")
      )
    (progn
      (setq l (entlast))
      (command ".EXPLODE" e2)
      (setq ss (ssadd))
      (ssadd (setq e (entnext l)) ss)
      (while (setq e (entnext e))
   (ssadd e ss)
      )
      (command ".FILLET" e1 (nentselp p2))
      (command ".PEDIT" e1 "_J" ss "" "") ; join
      (command ".ERASE" ss "")      ; erase unjoined segments
               ; of the second polyline
    )               ;progn
    (command ".FILLET" e1 (nentselp p2)) ;normal fillet
  )               ;if
  (command "._UNDO" "_E")
  (princ)
)               ;defun



[You must be registered and logged in to see this image.]
[You must be registered and logged in to see this image.]

    Hôm nay: Mon Jun 25, 2018 6:35 pm