Đến nội dung


Hình ảnh
- - - - -

Xin lisp giống lệnh trim


  • Please log in to reply
45 replies to this topic

#21 47c1

47c1

    biết vẽ ellipse

  • Members
  • PipPip
  • 56 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 18 March 2011 - 10:41 AM

Bạn có thể nhấn Vote ^^ Thực ra cái này mình nghĩ sẽ lỗi khi gặp đường bao PL hở + cách chọn "CP", tuy nhiên với Line thì có thể ít lỗi hơn ^^ Trong trường hợp lỗi mà thấy rõ mồn một thì hãy quay lại etrim + erase truyền thống :) Mình cũng có thể cho extrim với cả Dim, nhưng với file Bình đồ có lẽ k cần thiết ?? ^^

Còn 1 lỗi nữa. Đó là đường bao kín thì khi chọn xóa bên trong ko được.Chỉ xóa những cái ở bên ngoài đường bao thui.
  • 0

#22 hoan2182

hoan2182

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2646 Bài viết
Điểm đánh giá: 832 (rất tốt)

Đã gửi 18 March 2011 - 11:49 AM

Lệnh Trim thì chỉ xoá những đuờng cắt với đuờng giới hạn mình định. sau đó mình phải erase.Ý mình là muốn xoá luôn những đuờng ko cắt với đuờng giới hạn đó luôn.Sao mọi nguời lại ko hiểu ý câu hỏi mình nhỉ.

Phải trải qua 12 bài viết của các tác giả khác nhau, đến bài viết thứ 13 ý đồ chiến lược của câu anh hỏi mới lòi ra. Đến đây chắc mọi người đều hiểu ý tác giả nói
Ngày mới tham gia diễn đàn em có biết câu hỏi như anh đã có người hỏi và hình như là bác Phi Phi đã có lisp. (Trong bài viết đó có bác Ssg và bác Bình tham gia, tiếc là em ko tìm lại được.)
Và còn có một câu hỏi tương tự như của anh nhưng tác giả trình bày câu hỏi mạch lạc hơn:

Em có 1 bản vẽ, em đã chia đôi bởi 1 đường thằng nằm ở giữa. Em muốn 1 cái lisp để xóa toàn bộ các vật thể nằm ở 1 phía nào đó của đường thẳng đó, có thể coi đường thẳng đó là ranh giới ấy. Bác nào biết thì giúp em cái nhé :(

Bài viết tham khảo:
http://www.cadviet.c...showtopic=10533
  • 0

Gió đưa cây cải về trời

Rau răm ở lại chịu lời đắng cay...


#23 phamthe

phamthe

    biết vẽ polygon

  • Members
  • PipPip
  • 75 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 05 February 2013 - 07:56 PM

anh ketxu ơi cho em hỏi chút là cái lisp này load lên dùng rất hay nhưng bị lỗi gì đó mà sau lần dùng đầu tiên là nó không chọn được vùng đối tượng chọn trên bản đồ nữa. mỗi lần mở 1 bản vẽ lên là phải nhấn Esc nhiều lần và sau đó chọn nhiều lần 1 đối tượng được thì mới chọn vùng đối tượng được (không hiện lỗi gì dưới dòng command!). gỡ ra thì chọn vùng đối tượng bình thường.
  • 0

#24 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 05 February 2013 - 10:43 PM

Bạn gửi bản vẽ lỗi lên xem nào :) Mình viết từ hồi nảo đến giờ, còn không nhớ lisp nó làm cái j nữa cơ, nhưng mà nó k báo lỗi gì thì tệ quá ^^
  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#25 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6007 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 05 February 2013 - 11:12 PM

Bạn gửi bản vẽ lỗi lên xem nào :) Mình viết từ hồi nảo đến giờ, còn không nhớ lisp nó làm cái j nữa cơ, nhưng mà nó k báo lỗi gì thì tệ quá ^^

Hề hề hề,
Nhân tiện bác Ketxu cho hỏi thăm đường một chút:
Cái tham số 1e-3 (0.001) có ý nghĩa gì đối với cái hàm (acet-geon-object-point-list .....)
Mình tìm hiểu thì thấy nói rằng:

(ACET-GEOM-OBJECT-POINT-LIST ename [-1,0,1])
Trả về list tọa độ các đỉnh của curve. tham số [-1; 0; 1] chỉ có ý nghĩa với các đường cong. nếu tham số này = -1, hàm sẽ chia đường cong thành các đoạn nhỏ và lấy ra tọa độ các đỉnh chia đó.
Vậy là tìm hoài mà chửa hiểu, đi hoài mà chửa đến bác ạ.....
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#26 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 06 February 2013 - 08:52 AM

Ồ, đồ chế rồi. Cái này nguyên gốc của OP post lên ý
Tham số thứ 2 là maximum allowable error distance for resolution of arc segments , liên quan đến độ phân giải của màn hình, k biết phải dịch sao nữa. Và nó k chỉ chạy từ -1,0,1
  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#27 phamthe

phamthe

    biết vẽ polygon

  • Members
  • PipPip
  • 75 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 06 February 2013 - 01:15 PM

Lisp này để trích lục bản vẽ giống MicroStation. À đúng rồi, có báo lỗi khi chạy lisp và sau khi chạy thì mở bản vẽ nào lên cũng không chọn vùng đối tượng bằng quét chuột được mà phải zoom đối tượng to lên và nhấn Esc nhiều lần mới được (giống như là bị tắt chọn đối tượng nhưng kiểm tra trong Selection không phải)
Nó báo lỗi khi thực hiện lệnh :
Command: EE
Chon duong bao : _.zoom
Specify corner of window, enter a scale factor (nX or nXP), or
[All/Center/Dynamic/Extents/Previous/Scale/Window] <real time>: _w
Specify first corner: Specify opposite corner:
Command: _.Zoom
Specify corner of window, enter a scale factor (nX or nXP), or
[All/Center/Dynamic/Extents/Previous/Scale/Window] <real time>: 0.95x
Command:
Phia cat va xoa bo : [T/P]P
_.ucs
Current ucs name: *WORLD*
Enter an option [New/Move/orthoGraphic/Prev/Restore/Save/Del/Apply/?/World]
<World>: _View
Command: _.zoom
Specify corner of window, enter a scale factor (nX or nXP), or
[All/Center/Dynamic/Extents/Previous/Scale/Window] <real time>: _w
Specify first corner: Specify opposite corner:
Command: _.pline
Specify start point:
Current line-width is 0.0000
Specify next point or [Arc/Halfwidth/Length/Undo/Width]:
Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]:
Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]:
Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]:
Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]:
Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]:
Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]:
Command: _.area
Specify first corner point or [Object/Add/Subtract]: _ob
Select objects:
Area = 9916.6388, Length = 416.9999
Command: _.offset
Specify offset distance or [Through] <Through>: 8.807760146027431
Select object to offset or <exit>:
Specify point on side to offset:
Select object to offset or <exit>:
Command: _.area
Specify first corner point or [Object/Add/Subtract]: _ob
Select objects:
Area = 13884.4424, Perimeter = 483.9791
Command: _.offset
Specify offset distance or [Through] <8.8078>: 4.403880073013716
Select object to offset or <exit>:
Specify point on side to offset:
Select object to offset or <exit>:
Command: _.area
Specify first corner point or [Object/Add/Subtract]: _ob
Select objects:
Area = 11826.7985, Perimeter = 450.4895
Command: _.offset
Specify offset distance or [Through] <4.4039>: 0.312331920071895
Select object to offset or <exit>:
Specify point on side to offset:
Select object to offset or <exit>:
Command: _.area
Specify first corner point or [Object/Add/Subtract]: _ob
Select objects:
Area = 10047.2521, Perimeter = 419.3751
Command: _.ucs
Current ucs name: *WORLD*
Enter an option [New/Move/orthoGraphic/Prev/Restore/Save/Del/Apply/?/World]
<World>: _p
Command: _.move
Select objects: 27 found
Select objects: Specify base point or displacement: 0,0,0 Specify second point
of displacement or <use first point as displacement>: 0,0,0
Command: _.ucs
Current ucs name: *WORLD*
Enter an option [New/Move/orthoGraphic/Prev/Restore/Save/Del/Apply/?/World]
<World>: _3p
Specify new origin point <0,0,0>: 0,0,0
Specify point on positive portion of X-axis <1.0000,0.0000,0.0000>:
Specify point on positive-Y portion of the UCS XY plane <0.0000,1.0000,0.0000>:
Command: _.copy
Select objects: 1 found
Select objects: Specify base point or displacement, or [Multiple]: 0,0,0
Specify second point of displacement or <use first point as displacement>: 0,0,0
Command: _.pedit Select polyline or [Multiple]:
Enter an option [Close/Join/Width/Edit vertex/Fit/Spline/Decurve/Ltype
gen/Undo]: _w
Specify new width for all segments: 0.0
Enter an option [Close/Join/Width/Edit vertex/Fit/Spline/Decurve/Ltype
gen/Undo]: _x
Command: _.ucs
Current ucs name: *WORLD*
Enter an option [New/Move/orthoGraphic/Prev/Restore/Save/Del/Apply/?/World]
<World>: _p
Command: _.trim
Current settings: Projection=UCS, Edge=None
Select cutting edges ...
Select objects: 1 found
Select objects:
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
Object does not intersect an edge.
Cannot TRIM this object.
Cannot TRIM this object.
Object does not intersect an edge.
Cannot TRIM this object.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
Object does not intersect an edge.
Cannot TRIM this object.
Cannot TRIM this object.
Cannot TRIM this object.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
Object does not intersect an edge.
Object does not intersect an edge.
Cannot TRIM this object.
Cannot TRIM this object.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
Cannot TRIM this object.
Cannot TRIM this object.
Cannot TRIM this object.
Cannot TRIM this object.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
Object does not intersect an edge.
Object does not intersect an edge.
Cannot TRIM this object.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
Object does not intersect an edge.
Cannot TRIM this object.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
Object does not intersect an edge.
Cannot TRIM this object.
Object does not intersect an edge.
Cannot TRIM this object.
Object does not intersect an edge.
Cannot TRIM this object.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
No intersections in the interior of the curve.
Cannot TRIM this object.
Object does not intersect an edge.
Cannot TRIM this object.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
Object does not intersect an edge.
Cannot TRIM this object.
Cannot TRIM this object.
Cannot TRIM this object.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
Cannot TRIM this object.
Cannot TRIM this object.
Cannot TRIM this object.
Cannot TRIM this object.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
No intersections in the interior of the curve.
Cannot TRIM this object.
Cannot TRIM this object.
Cannot TRIM this object.
Cannot TRIM this object.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
No intersections in the interior of the curve.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
No intersections in the interior of the curve.
Object does not intersect an edge.
Object does not intersect an edge.
Cannot TRIM this object.
Object does not intersect an edge.
Cannot TRIM this object.
Object does not intersect an edge.
Cannot TRIM this object.
Cannot TRIM this object.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
No intersections in the interior of the curve.
Cannot TRIM this object.
Object does not intersect an edge.
Cannot TRIM this object.
Object does not intersect an edge.
Cannot TRIM this object.
Cannot TRIM this object.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
Object does not intersect an edge.
Cannot TRIM this object.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
Object does not intersect an edge.
Cannot TRIM this object.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
Object does not intersect an edge.
Object does not intersect an edge.
Object does not intersect an edge.
Object does not intersect an edge.
Object does not intersect an edge.
Object does not intersect an edge.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
No intersections in the interior of the curve.
Object does not intersect an edge.
Object does not intersect an edge.
Object does not intersect an edge.
Object does not intersect an edge.
Object does not intersect an edge.
Object does not intersect an edge.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
No intersections in the interior of the curve.
Cannot TRIM this object.
Object does not intersect an edge.
Cannot TRIM this object.
Cannot TRIM this object.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
No intersections in the interior of the curve.
Cannot TRIM this object.
Object does not intersect an edge.
Cannot TRIM this object.
Cannot TRIM this object.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
No intersections in the interior of the curve.
Object does not intersect an edge.
No intersections in the interior of the curve.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
No intersections in the interior of the curve.
Object does not intersect an edge.
No intersections in the interior of the curve.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
No intersections in the interior of the curve.
Select object to trim or shift-select to extend or [Project/Edge/Undo]: _F
First fence point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
No intersections in the interior of the curve.
Select object to trim or shift-select to extend or [Project/Edge/Undo]:
Command: _.zoom
Specify corner of window, enter a scale factor (nX or nXP), or
[All/Center/Dynamic/Extents/Previous/Scale/Window] <real time>: _p
Command: ; error: bad argument type: lselsetp nil
Đ Â Y LÀ BẢN VẼ :

http://www.cadviet.c...6810_banve.dwgÂ
  • 0

#28 phamthe

phamthe

    biết vẽ polygon

  • Members
  • PipPip
  • 75 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 18 February 2013 - 01:23 PM

chúc toàn thể anh em 1 năm mới mạnh khoẻ và thuận lợi trong công việc!

mong anh em coi giúp xem nó bị sao mà ko chọn đối tượng được sau khi thực hiện lệnh với


  • 0

#29 phamthe

phamthe

    biết vẽ polygon

  • Members
  • PipPip
  • 75 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 19 February 2013 - 09:46 PM

Bạn gửi bản vẽ lỗi lên xem nào smile.png Mình viết từ hồi nảo đến giờ, còn không nhớ lisp nó làm cái j nữa cơ, nhưng mà nó k báo lỗi gì thì tệ quá ^^


  • 0

#30 phamthe

phamthe

    biết vẽ polygon

  • Members
  • PipPip
  • 75 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 08 March 2013 - 11:05 AM

anh ketxu ơi, anh có thể coi giúp em cái lisp của anh nó bị tình trạng như trên là do đâu được không anh? và nếu có thể anh có thể giúp em xoá được các đối tượng bên ngoài đường Poline nữa được không? (đối tượng dùng khung REC thì được rồi!) cảmơn anh


  • 0

#31 phamthe

phamthe

    biết vẽ polygon

  • Members
  • PipPip
  • 75 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 09 March 2013 - 02:44 PM

^-^


  • 0

#32 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 10 March 2013 - 12:42 AM

Bạn post cả cái lisp bạn đang dùng lên xem nào ^^


  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#33 phamthe

phamthe

    biết vẽ polygon

  • Members
  • PipPip
  • 75 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 10 March 2013 - 02:20 PM

đây là đoạn code em đã copy ở #16.
 đoạn hỏi: Phia cat va xoa bo : [T/P] anh có thể chọn bằng cách pick về phía cần cắt xóa

trong hoặc ngoài được không ạ! cảm ơn anh
 

;free lisp from Cadviet.com @gia_bach -> ketxu ^^
(defun C:EE ( / en ss lst ssall bbox tmpvt lit)
(vl-load-com)
(if (null etrim)(load "extrim.lsp"))
(setq tmpvt '(1e+10 0 0))
(if (and (setq en (car(entsel "\n Chon duong bao : ")))
(wcmatch (cdr(assoc 0 (entget en))) "LINE,*POLYLINE"))
(progn
(setq bbox (ACET-ENT-GEOMEXTENTS en))
(setq bbox (mapcar '(lambda(x)(trans x 0 1)) bbox))
(setq lst (ACET-GEOM-OBJECT-POINT-LIST en 1e-3)
lit (nth (1- (length lst)) lst))
(ACET-SS-ZOOM-EXTENTS (ACET-LIST-TO-SS (list en)))
(command "_.Zoom" "0.95x")
(setq ssall (ssget "_X" (list (assoc 410 (entget en)))))
(if (vlax-curve-isClosed en)
(progn
(etrim en (getpoint "\n Phia cat va xoa bo : "))
(setq ss (ssget "_CP" lst))
)
(progn
(initget 1 "t p T P")
(if (= (strcase(getkword "\n Phia cat va xoa bo : [T/P]")) "T")
(progn
(etrim en (mapcar '- (nth 0 lst) '(1e+10 0 0)))
(setq ss (ssget "_CP"
(append (list (nth 0 lst) (mapcar '+

(nth 0 lst) tmpvt) (mapcar '+ lit tmpvt) lit))))
)
(progn
(etrim en (mapcar '+ (nth 0 lst) '(1e+10 0 0)))
(setq ss (ssget "_CP"
(append (list (nth 0 lst) (mapcar '- (nth 0 lst)

tmpvt) (mapcar '- lit tmpvt) lit))))
)
)
)
)
(setq lst (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
(foreach e1 lst (ssdel e1 ssall))
(ACET-SS-ENTDEL ssall)
)
)
)


  • 0

#34 phamthe

phamthe

    biết vẽ polygon

  • Members
  • PipPip
  • 75 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 19 March 2013 - 07:42 AM

các bác cao thủ trên cadviet ơi, có bác nào có thể coi giúp em xem làm sao mà bị lỗi gì mà sau lần dùng đầu tiên là nó không chọn được vùng đối tượng chọn trên bản đồ nữa, phải gỡ ra thì lại chọn vùng đối tượng lại bình thường. ngày nào em cũng lướt qua diễn đàn để mong có sự giúp đỡ hơn 1 tháng nay rồi, dù có chút hi vọng mong manh ...!


  • 0

#35 phamthe

phamthe

    biết vẽ polygon

  • Members
  • PipPip
  • 75 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 25 March 2013 - 10:13 AM

các bác cao thủ trên cadviet ơi, có bác nào có thể coi giúp em xem làm sao mà bị lỗi gì mà sau lần dùng đầu tiên là nó không chọn được vùng đối tượng chọn trên bản đồ nữa, phải gỡ ra thì lại chọn vùng đối tượng lại bình thường. ngày nào em cũng lướt qua diễn đàn để mong có sự giúp đỡ hơn 1 tháng nay rồi, dù có chút hi vọng mong manh vẫn đợi...!
 


  • 0

#36 phamthe

phamthe

    biết vẽ polygon

  • Members
  • PipPip
  • 75 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 25 March 2013 - 01:39 PM

anh ketxu ơi!


  • 0

#37 phamthe

phamthe

    biết vẽ polygon

  • Members
  • PipPip
  • 75 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 26 March 2013 - 04:44 PM

sao các cao thủ đều né tránh bài này, buồn quá :(


  • 0

#38 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 26 March 2013 - 10:58 PM

Srr dạo ni mình bận quá :(

Lỗi của bạn do ACET k trả biến highlight về

Mình ngại code inside outside, mà xét về vấn đề đã trích thì phải xoá ngoài chứ, đúng k ^^ Nên để thế này thôi cho nhanh (qqcode)

 

(defun C:EE ( / e ss lst ssall bbox   *error*) 
(defun *error* (msg)(alert (strcat "Error found :\n\n" msg))(setvar 'Highlight 1)(vl-cmdf "undo" "end"))
(vl-load-com)(command "undo" "be")(setvar 'cmdecho 0)
(if (null etrim)(load "extrim.lsp"))
(prompt "\nChon duong bao <Pline> :")
(while (not (setq e (ssget ":S" (list (cons 0 "*POLYLINE"))))))
(if	(> (acet-dxf 90 (entget (setq e(ssname e 0)))) 2)
(progn
	(setq 	bbox (ACET-ENT-GEOMEXTENTS e)
			bbox (mapcar '(lambda(x)(trans x 0 1)) bbox)
			lst (ACET-GEOM-OBJECT-POINT-LIST e 1e-3)
	)
	(ACET-SS-ZOOM-EXTENTS (ACET-LIST-TO-SS (list e)))
	(command "_.Zoom" "0.95x") 
	(setq ssall (ssget "_X" (list (assoc 410 (entget e)))))	  
	(etrim e '(0 0 0))
	(setq ss (ssget "_CP" lst))		
	(setq lst (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
				(foreach e1 lst (ssdel e1 ssall))
				(ACET-SS-ENTDEL ssall)
)
(alert "\nChon Pline lon hon 2 dinh")
)
(setvar 'Highlight 1)(command "undo" "be")
(princ))

  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#39 phamthe

phamthe

    biết vẽ polygon

  • Members
  • PipPip
  • 75 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 27 March 2013 - 07:56 AM

reeee, đã làm được rồi. Cảm ơn anh nhiều, nhưng sao em không thấy nút like để cảm ơn anh nhỉ!


  • 0

#40 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 27 March 2013 - 08:08 AM

Nút mũi tên màu xanh bên góc phải bài viết. Riêng cái lisp này thì nên thanks nhiều vào!


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.