Đến nội dung


Hình ảnh
- - - - -

Nhờ các bác chỉnh hộ Lisp vẽ hình chữ nhật


  • Please log in to reply
23 replies to this topic

#1 DanKhaosat

DanKhaosat

    biết lệnh scale

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

Đã gửi 28 September 2013 - 10:14 AM

Mình có lisp của bác Đoàn Văn Hà

Bây giờ mình muốn chỉnh

Pick diem A:

Pick diem B:

Cho khoảng cách cạnh vuông góc với cạnh AB: đánh ở dấu nhắc giá trị cạnh

>>> Vẽ hình chữ nhật có cạnh AB, và cạnh vuông với AB là giá trị vừa đánh vào (tất nhiên hướng chữ nhật là cạnh AB)

Sau đó muốn vẽ hình chữ nhật nữa thì:

 

Pick diem A:

Pick diem B:

Cho khoảng cách cạnh vuông góc với cạnh AB: (vào giá khoảng cách- nếu không vào giá trị Enter thì mặc nhiên lấy giá trị cũ)

Xin các Bác chỉ giáo !

Trân trọng!http://www.cadviet.c...hcnvuong_ha.lsp


  • -1

#2 hockhiem

hockhiem

    biết lệnh erase

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

Đã gửi 28 September 2013 - 10:26 AM

Vẽ thủ công cho nhanh chức lisp nhiều hư tay đó.


  • 0

#3 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 28 September 2013 - 10:34 AM

Câu hỏi này chính đáng, sao ai nỡ dislike thế?

Nếu cần vẽ nhiều hình chữ nhật xiên thì nó sẽ nhanh hơn cad cơ mà!

Chỉ tiếc là: tại sao không hỏi ở ngay topic đó mà mở thêm topic chi cho nhạt forum.


  • 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.


#4 DanKhaosat

DanKhaosat

    biết lệnh scale

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

Đã gửi 28 September 2013 - 11:02 AM

Nhờ các bác chỉ giáo

Đây là tác phẩm của bác Hà nhờ bác chỉ cho


  • 0

#5 hiepttr

hiepttr

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1298 Bài viết
Điểm đánh giá: 518 (tốt)

Đã gửi 28 September 2013 - 11:16 AM

đang luyện công nhưng mạo muội sửa bậy

>>>> hòng học đc nhiều cái hay sau 1 rổ đá :D :D :D

(defun C:HA( / pa pb h1 pc)
 (BAT_DAU)
 (initget 1) (setq pa (getpoint "\nPick diem A: "))
 (initget 1) (setq pb (getpoint pa "\nPick diem B: "))
 (acet-sysvar-set (list "cmdecho" 0))
 (command "ucs" "z" (/ (* 180 (angle pa pb)) pi))
 (setq pa (trans pa 0 1))
 (setq pb (trans pb 0 1))
 (grvecs (list -3 pa pb))
 (acet-sysvar-set (list "orthomode" 1))
 (if (not h) (setq h 100))
 (setq h1 (getdist pb (strcat "Chieu cao <" (rtos h 2 4) " >: ")))
 (if h1
	(setq h h1)
	)
 (princ (strcat "Nhan chieu cao " (rtos h 2 4)))
 (setq pc (polar pb (/ pi 2) h))
 (command "rectangle" pa pc)
 (redraw)
 (command "ucs" "w")
 (acet-sysvar-restore)
 (KET_THUC)
 (princ))
(defun BAT_DAU()
 (vl-load-com)
 (setq AcDoc (vla-get-activeDocument (vlax-get-acad-object)))
 (vla-StartUndoMark AcDoc)
 (setq err *error* *error* KHI_LOI))
(defun KET_THUC()
 (acet-sysvar-restore)
 (vla-EndUndoMark AcDoc)
 (setq *error* err))
(defun KHI_LOI(msg)
 (acet-sysvar-restore)
 (vla-EndUndoMark AcDoc)
 (redraw)
 (command "u")
 (princ (strcat "\n" msg ", Reset System Variables\n"))
 (setq *error* err))

  • 1

Có vợ dù dữ dù hiền , bạn đều có lợi
_ Nếu vợ hiền, bạn sẽ là người đàn ông sung sướng
_ Nếu vợ dữ, bạn sẽ thành ... triết gia !

Bergson


#6 DanKhaosat

DanKhaosat

    biết lệnh scale

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

Đã gửi 28 September 2013 - 11:29 AM

đang luyện công nhưng mạo muội sửa bậy

>>>> hòng học đc nhiều cái hay sau 1 rổ đá :D :D :D

(defun C:HA( / pa pb h1 pc)
 (BAT_DAU)
 (initget 1) (setq pa (getpoint "\nPick diem A: "))
 (initget 1) (setq pb (getpoint pa "\nPick diem B: "))
 (acet-sysvar-set (list "cmdecho" 0))
 (command "ucs" "z" (/ (* 180 (angle pa pb)) pi))
 (setq pa (trans pa 0 1))
 (setq pb (trans pb 0 1))
 (grvecs (list -3 pa pb))
 (acet-sysvar-set (list "orthomode" 1))
 (if (not h) (setq h 100))
 (setq h1 (getdist pb (strcat "Chieu cao <" (rtos h 2 4) " >: ")))
 (if h1
	(setq h h1)
	)
 (princ (strcat "Nhan chieu cao " (rtos h 2 4)))
 (setq pc (polar pb (/ pi 2) h))
 (command "rectangle" pa pc)
 (redraw)
 (command "ucs" "w")
 (acet-sysvar-restore)
 (KET_THUC)
 (princ))
(defun BAT_DAU()
 (vl-load-com)
 (setq AcDoc (vla-get-activeDocument (vlax-get-acad-object)))
 (vla-StartUndoMark AcDoc)
 (setq err *error* *error* KHI_LOI))
(defun KET_THUC()
 (acet-sysvar-restore)
 (vla-EndUndoMark AcDoc)
 (setq *error* err))
(defun KHI_LOI(msg)
 (acet-sysvar-restore)
 (vla-EndUndoMark AcDoc)
 (redraw)
 (command "u")
 (princ (strcat "\n" msg ", Reset System Variables\n"))
 (setq *error* err))

Cảm ơn bạn

hiepttr

bạn làm đúng ý mình rồi nhưng cần sửa lại hộ mình là hình chữ nhật đó vẽ về phía nào la do mình

Chứ như chương trình bạn sửa là chỉ mạc định về 1 phía thôi!

CẢm ơn!


  • 0

#7 tientracdia

tientracdia

    biết lệnh scale

  • Members
  • PipPipPip
  • 147 Bài viết
Điểm đánh giá: -11 (hơi kém)

Đã gửi 28 September 2013 - 11:42 AM

Cám ơn Bạn.

NHờ bạ chỉnh thêm lisp kí hiệu nhà , them vào các đường trong hình chữ nhật trên

theo hình vẽ của file dưới

http://www.cadviet.c...4381_ve_nha.dwg


  • 0

#8 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 September 2013 - 06:01 PM

Chác là phải thêm nhiều dấu - nữa ??? 

 

Mình có lisp của bác Đoàn Văn Hà

Bây giờ mình muốn chỉnh

Pick diem A:

Pick diem B:

Cho khoảng cách cạnh vuông góc với cạnh AB: đánh ở dấu nhắc giá trị cạnh

>>> Vẽ hình chữ nhật có cạnh AB, và cạnh vuông với AB là giá trị vừa đánh vào (tất nhiên hướng chữ nhật là cạnh AB)

Sau đó muốn vẽ hình chữ nhật nữa thì:

 

Pick diem A:

Pick diem B:

Cho khoảng cách cạnh vuông góc với cạnh AB: (vào giá khoảng cách- nếu không vào giá trị Enter thì mặc nhiên lấy giá trị cũ)

Xin các Bác chỉ giáo !

Trân trọng!http://www.cadviet.c...hcnvuong_ha.lsp

 

 

Nhờ các bác chỉ giáo

Đây là tác phẩm của bác Hà nhờ bác chỉ cho

 

 

Cảm ơn bạn

hiepttr

bạn làm đúng ý mình rồi nhưng cần sửa lại hộ mình là hình chữ nhật đó vẽ về phía nào la do mình

Chứ như chương trình bạn sửa là chỉ mạc định về 1 phía thôi!

CẢm ơn!

 

 

Cám ơn Bạn.

NHờ bạ chỉnh thêm lisp kí hiệu nhà , them vào các đường trong hình chữ nhật trên

theo hình vẽ của file dưới

http://www.cadviet.c...4381_ve_nha.dwg


  • 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


#9 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 28 September 2013 - 06:36 PM

"Tiến Trắc Địa" chưa chắc đã là "Dân Khảo Sát"  :lol:


  • 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.


#10 tientracdia

tientracdia

    biết lệnh scale

  • Members
  • PipPipPip
  • 147 Bài viết
Điểm đánh giá: -11 (hơi kém)

Đã gửi 28 September 2013 - 08:22 PM

Bạn dựa vào đâu mà khẳng định ?


  • 0

#11 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 September 2013 - 08:37 PM

Hi, cháu k quan tâm 2 người hay 1 người, dù văn phong như nhau :)

 

@tientracdia : bạn reply ai vậy ?  Nếu là mình thì câu trả lời là : file bản vẽ của bạn

@DanKhaosat : mình đọc lại kỹ yêu cầu bạn đưa ra từ đầu vào.

 - 1 là file lisp lấy từ topic có cả đường dẫn, nhưng bạn lại mở thêm topic mới 

-  2 là không có yêu cầu về hướng trong bài đầu tiên. Tất nhiên 1 người viết lisp tốt sẽ lường được tình huống này để linh động, nhưng nó cũng k phải bài tập bắt buộc với người viết, không ai ép họ phải đắn đo quá nhiều thay bạn, nên có sao thì cũng nên trách mình từ đầu. Bạn k tick like công của hiepttr, nhưng cũng cảm ơn 2 lần trong 1 post rồi, coi như là vừa đẹp


  • 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


#12 DanKhaosat

DanKhaosat

    biết lệnh scale

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

Đã gửi 28 September 2013 - 08:53 PM

Cảm ơn các bạn thực ra Lisp bạn Tien trắc địa cần mình thấy trên Cadviet có rồi đây này của bác Thaistreetz! http://www.cadviet.c...e_nha_nbnha.lsp

Còn bác Hiepttr bác đưa lên là đủ rồi lúc mình kiểm tra vội nên chưa kiểm tra hết Cảm ơn bạn!


  • 0

#13 tientracdia

tientracdia

    biết lệnh scale

  • Members
  • PipPipPip
  • 147 Bài viết
Điểm đánh giá: -11 (hơi kém)

Đã gửi 28 September 2013 - 08:57 PM

Vậy xin nhờ bạn giúp chỉnh lisp vẽ hình chử nhật và vẽ thêm một đường thẳng từ điểm A đến C. Cám ơn


  • 0

#14 tientracdia

tientracdia

    biết lệnh scale

  • Members
  • PipPipPip
  • 147 Bài viết
Điểm đánh giá: -11 (hơi kém)

Đã gửi 28 September 2013 - 09:05 PM

Cảm ơn các bạn thực ra Lisp bạn Tien trắc địa cần mình thấy trên Cadviet có rồi đây này của bác Thaistreetz! http://www.cadviet.c...e_nha_nbnha.lsp

Còn bác Hiepttr bác đưa lên là đủ rồi lúc mình kiểm tra vội nên chưa kiểm tra hết Cảm ơn bạn!

Rất cám ơn Bạn, Lisp này rất hay nhưng ý mình muốn vẽ nhà khi chọn qua 3 điểm lisp tự xử lý góc vuông qua 2 điểm chọn 1 và 3. Sau đó vẻ ký hiệu nóc nhà theo phương pháp chọn vẻ hình chữ nhật trên.


  • 0

#15 DanKhaosat

DanKhaosat

    biết lệnh scale

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

Đã gửi 28 September 2013 - 09:19 PM

Thế thì nhờ các cao thủ thôi mình k giúp được bạn vì gà mờ lisp lắm


  • 0

#16 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 28 September 2013 - 09:20 PM

Bạn dựa vào đâu mà khẳng định ?

1). Khẳng định 1 điều chưa chắc đúng thì không bao giờ sai. Chỉ khi khẳng định 1 điều là sai hoặc đúng thì mới có thể đúng hoặc sai.

2). "Tiến Trắc Địa" là tôi dịch từ "tientracdia" và "Dân Khảo Sát" là tôi dịch từ "Dankhaosat" - 2 nickname của 2 bạn ấy mà.


  • 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.


#17 DanKhaosat

DanKhaosat

    biết lệnh scale

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

Đã gửi 28 September 2013 - 09:28 PM

BẠN hÀ CÓ LẦN CHÊ MÌNH ĐẶT VẤN ĐỀ KHÔNG RÕ

GIỜ MÌNH CŨNG ĐẶT VẤN ĐỀ ĐÓ VƠI BẠN


  • 0

#18 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 28 September 2013 - 09:32 PM

BẠN hÀ CÓ LẦN CHÊ MÌNH ĐẶT VẤN ĐỀ KHÔNG RÕ

GIỜ MÌNH CŨNG ĐẶT VẤN ĐỀ ĐÓ VƠI BẠN

Bạn đang đặt vấn đề gì? Mình đang giải thích cho "tientracdia" chứ đâu giải thích cho "Dankhaosat"?

Nếu 2 in 1 hoặc 1 in 2 thì bó tay.


  • 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.


#19 tientracdia

tientracdia

    biết lệnh scale

  • Members
  • PipPipPip
  • 147 Bài viết
Điểm đánh giá: -11 (hơi kém)

Đã gửi 29 September 2013 - 11:00 AM

Thôi giúp nhau về lisp đi bạn,

Mình muốn vẽ thêm một dường từ lisp vẽ hình chử nhật trên từ điểm A đến C thì phải chỉnh như thế nào ?

Xin nhờ các Bạn giúp.


  • 0

#20 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 993 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 01 October 2013 - 01:19 PM

Không biết ý của chủ thớt có phải là vẽ nhà không nhỉ?

Mình viết cái Lisp vẽ nhà này lâu rồi.

Bạn thử xem có ổn không? Cần chỉnh sửa gì ko?

(defun c:vn() ;Ve nha
  (command "un" "be")
  (setq i 1)
  (while
    (progn
  	(command "osnap" "cen,end,mid,node")
	(setq P1 (getpoint "\nCh\U+1ECDn \U+0111i\U+1EC3m th\U+1EE9 nh\U+1EA5t: ")
	      P2 (getpoint "\nCh\U+1ECDn \U+0111i\U+1EC3m th\U+1EE9 hai: ")
	      P3a (getpoint "\nCh\U+1ECDn \U+0111i\U+1EC3m th\U+1EE9 ba ")
	)
  	(setq Phia (CCW P1 P2 P3a))
	(setq  D23 (distance P2 P3a))
        (setq Goc12 (angle P1 P2))
        (setq Goc21 (angle P2 P1))
        (if (= Phia "PH")
	  (progn
	      (setq P4 (polar P1 (+ Goc12 (DTR 270)) D23)
	            P3 (polar P2 (+ Goc21 (DTR 90)) D23)
	      )
	  )
	  (progn
	      (setq P4 (polar P1 (+ Goc12 (DTR 90)) D23)
	            P3 (polar P2 (+ Goc21 (DTR 270)) D23)
	      )
	  )
	)
  	(setq TD (list (/ (+ (car p1) (car P3)) 2)(/ (+ (cadr p1) (cadr P3)) 2)))
  	(if (< (distance p1 p2) (distance p2 p3))
	  (progn
	  	(setq TD1 (list (/ (+ (car p1) (car P2)) 2)(/ (+ (cadr p1) (cadr P2)) 2)))
	  	(setq TD2 (list (/ (+ (car p3) (car P4)) 2)(/ (+ (cadr p3) (cadr P4)) 2)))
	  	(setq K1 (polar TD1 (angle TD1 TD2) (/ (distance TD1 TD2) 3)))
	  	(setq K2 (polar TD1 (angle TD1 TD2) (* 2 (/ (distance TD1 TD2) 3))))
  	  	(command "osnap" "off")
	  	(command "pline" p1 p2 p3 p4 p1 "")
	  	(command "pline" p1 k1 k2 p3 "")
		(command "pline" p2 k1 k2 p4 "")
	  )
	  (progn
	  	(setq TD1 (list (/ (+ (car p3) (car P2)) 2)(/ (+ (cadr p3) (cadr P2)) 2)))
	  	(setq TD2 (list (/ (+ (car p1) (car P4)) 2)(/ (+ (cadr p1) (cadr P4)) 2)))
	  	(setq K1 (polar TD1 (angle TD1 TD2) (/ (distance TD1 TD2) 3)))
	  	(setq K2 (polar TD1 (angle TD1 TD2) (* 2 (/ (distance TD1 TD2) 3))))
  	  	(command "osnap" "off")
	  	(command "pline" p1 p2 p3 p4 p1 "")
	  	(command "pline" p1 k2 k1 p3 "")
		(command "pline" p2 k1 k2 p4 "")
	  )
	)
        (setq i (+ i 1))
      )
    )
  (command "un" "end")
  (princ)
)

(defun CCW  (P1 P2 P /) ;Xac dinh diem P nam ben trai hay phai doan thang P1 P2
  (setq BP "PH")
  (setq BT "TR" )
  (setq dX  ( - (car P) (car P1))
	dY  ( - (cadr P) (cadr P1))
	dX0 ( - (car P2) (car P1))
	dY0 ( - (cadr P2) (cadr P1))
	d   ( - (* dX dY0) (* dY dX0))
  )
  (if (> d 0)
    BP
    BT
  )
)
(defun DTR (A) (/ (* A pi) 180)) ; Degrees to Radian

 


  • 1



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn