Đến nội dung


Hình ảnh
- - - - -

viết giúp em cái lisp rải mái taluy


  • Please log in to reply
24 replies to this topic

#21 AutoTay.com

AutoTay.com

    biết lệnh move

  • Members
  • PipPipPip
  • 125 Bài viết
Điểm đánh giá: 19 (tàm tạm)

Đã gửi 19 October 2011 - 04:18 PM

Thêm 1 vấn đề nữa:
Lisp này không xài được đối với 2DPolyline.
  • 0

#22 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 19 October 2011 - 05:20 PM

Thêm 1 vấn đề nữa:
Lisp này không xài được đối với 2DPolyline.

Hề hề hề,
bạn cần phải nói chính xác hơn. 2Dpolyline có các đối tượng loại LWpolyline và loại Polyline. Với LWpolyline thì bạn dùng tốt nhưng với Polyline thì có vấn đề.Bởi vì người viết lisp không xét tới loại đối tượng này,
Nhưng chính cái bản vẽ bạn post lên cũng đâu có sử dụng đối tượng loại này đâu mà bạn yêu cầu nhỉ???
Nay bạn muốn xét cả loại đối tượng này nữa thì..... hãy đợi đấy!!!!!
Bạn có thể tham khảo thêm khá nhiều lisp về việc vẽ taluy này mà trên diễn đàn đã có. May ra nó đáp ứng được đòi hỏi của bạn đấy.
Hề hề hề,....
  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#23 AutoTay.com

AutoTay.com

    biết lệnh move

  • Members
  • PipPipPip
  • 125 Bài viết
Điểm đánh giá: 19 (tàm tạm)

Đã gửi 19 October 2011 - 05:38 PM

Thêm 1 vấn đề nữa:
Lisp này không xài được đối với 2DPolyline.

Sau một hồi loay hoay Convert với các tham số khác nhau của Plinetype chả hiểu thế nào lại rải đước tất tần tật cả Polyline lẫn Lwpolyline.
Thử đổi Plinetype với các tham số khác nhau rồi Convert, chẳng làm sao cho để nó lại lỗi như trước!hik2
Tóm lại là OK roài!
Thank các PRO!
  • 0

#24 toiyeuvietnam

toiyeuvietnam

    biết vẽ polygon

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

Đã gửi 20 June 2014 - 02:51 PM

 

Đây nè, cho các bác bộ mã nguồn luôn
Về nghiên cứu thêm nhé

(defun c:batter	()  (setvar "CMDECHO" 0)  (setq osmode (getvar "osmode"))  (setvar "osmode" 0)  (setvar "unitmode" 0)  (setvar "dimzin" 0)  (setvar "blipmode" 0)  (setvar "aunits" 0)  (setvar "angbase" (/ pi 2))  (setvar "angdir" 1)  (if (not lint)    (setq lint 10.0)  )  (setq int (getdist (strcat "\nInterval <" (rtos lint 2 3) ">: ")))  (if int    (setq lint int)    (setq int lint)  )  (command "line" (list 0.0 0.0) (list 0.0 0.0001) "")  (if (tblsearch "block" "tadtick")    (command "block" "tadtick" "y" (list 0.0 0.0) (entlast) "")    (command "block" "tadtick" (list 0.0 0.0) (entlast) "")  )  (while (setq refent (entsel "\nSelect reference line: "))    (command "undo" "group")    (redraw (car refent) 3)    (initget 1 "Cut Fill")    (setq reply (getkword "\n[C]ut or [F]ill batter: "))    (setq s (ssget))    (command "measure" refent "b" "tadtick" "y" int)    (setq p  (ssget "p")	  cn 0    )    (if	s      (progn	(while (< cn (sslength p))(setq en (entget (ssname p cn))p0 (cdr (assoc 10 en))pt1 p0pt2 nilb (cdr (assoc 50 en)))(entdel (ssname p cn))(setq p1 (polar p0 (+ (/ pi 2) b )  0.0001))	  (command "line" p0 p1 "")	  (command "extend" s "" (list (entlast) p1) "")	  (setq xent (entget (entlast)))	  (setq	xdist		 (distance (cdr (assoc 10 xent)) (cdr (assoc 11 xent)))	  )	  (if (not (equal xdist 0.0001 0.0001))	    (setq pt2 (cdr (assoc 11 xent)))	    (progn	      (command "extend" s "" (list (entlast) p0) "")	      (setq xent (entget (entlast)))	      (setq xdist (distance (cdr (assoc 10 xent))				    (cdr (assoc 11 xent))			  )	      )	      (if (not (equal xdist 0.0001 0.0001))		(setq pt2 (cdr (assoc 10 xent)))	      )	    )	  )	  (entdel (entlast))	  (if pt2	    (if	(= reply "Fill")	      (if (= (rem cn 2) 0)		(command "line" pt1 pt2 "")		(command		  "line"		  pt1		  (polar pt1 (angle pt1 pt2) (/ (distance pt1 pt2) 2))		  ""		)	      )	      (if (= (rem cn 2) 0)		(command "line" pt2 pt1 "")		(command		  "line"		  pt2		  (polar pt2 (angle pt2 pt1) (/ (distance pt2 pt1) 2))		  ""		)	      )	    )	  )	  (setq cn (1+ cn))	)      )    )    (command "undo" "en")  )  (setvar "blipmode" 1)  (setvar "osmode" osmode)  (princ))
 

==========================================
Nhờ các bác giúp em sửa cái lisp này với:
Yêu cầu:
- gõ BATTER
- chọn đối tượng cần vẽ Taluy (có thể chọn nhiều đối tượng vẽ Taluy 1 lúc)
- pick phía cần dải Taluy
- chọn đối tượng chân Taluy
- xong!
  • 0

#25 VUVUZELA

VUVUZELA

    biết lệnh chamfer

  • Members
  • PipPipPipPip
  • 210 Bài viết
Điểm đánh giá: 97 (tàm tạm)

Đã gửi 30 June 2014 - 09:20 AM

Bạn có thể download chương trình này về dùng thử

http://www.mediafire...V3.1 (DEMO).rar

Chạy setup, đánh pass : LECUONG

Vào Autocad load file *.VLX ở thư mục cài đặt lên thì sẽ có MENU load tự động trên nền AUtocad

Lệnh : BATBD sẽ đánh batter theo yêu cầu của bạn như trên

Có thể xem file hướng dẫn sử dụng PDF ở thư mục cài đặt nhé


  • -1

Hệ thống Liên Kết, Thiết Kế Tự Động

ttps://www.facebook...etThietKeTuDong