Chuyển đến nội dung
Diễn đàn CADViet
hung1608

Xin lisp đánh cao độ đường ống cấp nước

Các bài được khuyến nghị

Mình học ngành nước khi vẽ trên không gian phải điền cao độ đường ống và thiết bị vệ sinh khá mất thời gian khi xoay cao độ theo đường cheo và đường thẳng. http://www.cadviet.com/upfiles/3/cao_do.dwg. Nhờ các cao thủ về lisp giúp mình . Cảm ơn các bạn.

Nhờ các cao thủ về lisp giúp mình . Cảm ơn các bạn

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bạn dùng thử nhé:

(defun c:caodo()
 (setq ATT (getvar "ATTDIA"))
 (setq OSM (Getvar "OSMODE"))
 (setvar "ATTDIA" 0)  
 (setq Pt1 (getpoint "\nChon diem chen cao do: ")
Pt2 (getpoint "\nChon diem thu hai nam tren tuyen: ")
CaoDo (getstring "\nNhap cao do: ")
	KhoangCach (getreal "\nNhap khoang cach: ")
	UpDown (getstring "\nCo lat nguoc khong (nhap ky tu bat ky de lat): ")
TyLe(getreal "\nNhap ty le chen: ")
Ang (angle Pt2 Pt1)
Pt (polar Pt1 Ang KhoangCach))
 (setvar "OSMODE" 0)	
 (if (or (< Ang (/ pi 2)) (> Ang (* 3 (/ pi 2))))
	(if (= UpDown "")
		  (command "insert" "CaoDoR" Pt TYLe TYLe (* (/ Ang pi) 180) Caodo)
		  (command "insert" "CaoDoRUD" Pt TYLe TYLe (* (/ Ang pi) 180) Caodo)
	)
	(if (= UpDown "")
	  (command "insert" "CaoDoL" Pt TYLe TYLe (* (/ (- Ang  pi) pi) 180) Caodo)
		  (command "insert" "CaoDoLUD" Pt TYLe TYLe (* (/ (- Ang  pi) pi) 180) Caodo)
	)
 )
 (setvar "ATTDIA" ATT)
 (setvar "OSMODE" OSM)	
)

Quên béng mất, vội đi ăn cơm:

Trong bản vẽ bạn cần tạo 2 Block có thuộc tính để ghi cao độ giống y như cái ký hiệu cao độ cảu ban trong đó thuộc tính cảu Block dùng để ghi cao độ

2 Block đó có tên là CaoDoR (Phải) và CaoDoL(Trái)

Chương trình sẽ căn cứ vào 2 điểm chọn để xác định góc nghiêng của tuyến đồng thời sẽ tính toán chiều nghiêng để chèn Block (trái phải) nhìn cho giống như DIM tránh trường hợp phải xoay ngược màn hình mới đọc được.

- Kích cỡ của ký hiệu sẽ phụ thuộc vào tham số tỷ lệ chèn, bạn hãy điều chỉnh tỷ lệ này cho phù hợp với yêu cầu.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bạn ơi minh thư dùng rồi nhưng không được. Khi dùng lệnh xong thì nó bị thế này nhè:

 

Command: caodo

Chon diem chen cao do:

Chon diem thu hai nam tren tuyen:

Nhap cao do: 2

"CaoDoL.dwg": Can't find file in search path:

C:\Documents and Settings\User\My Documents\ (current directory)

C:\Documents and Settings\User\Application Data\Autodesk\AutoCAD

2008\R17.1\enu\support\

C:\Program Files\AutoCAD 2008\support\

C:\Program Files\AutoCAD 2008\fonts\

C:\Program Files\AutoCAD 2008\help\

C:\Program Files\AutoCAD 2008\express\

C:\Program Files\AutoCAD 2008\support\color\

C:\Program Files\AutoCAD 2008\drv\

C:\Program Files\AutoCAD 2008\

*Invalid*

; error: Function cancelled

 

Bạn giúp minh khắc phục nhé. Bạn ơi có thể giúp mình bổ sung thêm tinh năng này nhé : khi dùng lệnh có thể minh có thể chọn được kích thước của text nhé

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Oạch.

Thôi thì đành phải nhiệt tình một chút:

Bạn nhập lệnh ATTDEF sẽ xuất hiện hộp thoại (Cad 2010) Attribute Definition

- Tại ô Tag hãy nhập vài ký tự thẻ hiện thuộc tính (trong trường hợp này có thể nhập "CAODO") để tiện theo dõi về sau

- Tại ô Prompt: Nhập dòng thông báo (Cao độ) thông báo này sẽ xuất hiện khi ta chèn Block

- Các mục khác bạn hãy nghiên cứu

- Nhấn Ok, nó sẽ đòi chọn điểm chèn (trong trường hợp Specify on-screen được check), hãy chọn 1 điểm trên bản vẽ

- Như vậy đã tạo ra được 1 thuộc tính

- Tiếp theo vẽ thêm các chi tiết của Block (Ký hiệu cao độ) vào vị trí thích hợp với thuộc tính

- Tiếp theo nhập lệnh BLOCK để tạo Block, hãy chọn điểm chèn, chọn các đối tượng bao gồm các chi tiết và thuộc tính vừa tạo

Thế là xong 1 Block có thuộc tính.

Ok? Chúc vui.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bạn ơi minh tạo được block thuộc tính như bạn bảo rồi nhưng lisp của bạn bị lỗi không dùng được. Khi load xong dùng lệnh caodo thì nó báo thế này nhè

Command: caodo

Unknown command "CAODO". Press F1 for help.

Bạn kiểm tra giúp mình cái.

Mình up luôn file để bạn xem nhé. http://www.cadviet.com/upfiles/3/cao_do.rar . Mình dùng là cad 08 bạn nhé.

Cảm ơn bạn rất nhiều.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bạn không đọc kỹ rồi

Phải tạo 2 Block có tê là CaoDoR và CaoDoL nhé

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Thành thật xin lỗi bạn, không hiểu khi copy vào đây thế nào mà lại thừa 1 dấu ( ở đầu tiên. Tôi đã sửa lại, bọn có thể copy về dùng.

Còn việc định nghĩa 2 Block của bạn như thế là đúng rồi, chỉ có điều điểm chèn bạn để xa quá, tôi cũng đã sửa lại.

http://www.cadviet.com/upfiles/3/caodo_1.dwg

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Xin lỗi lại làm phiền bạn tiếp nhé. Lisp và block của bạn down về mình dùng ổn rồi nhưng khi mình thử tạo 1 block khác dung lisp lại bị lỗi bạn à.Khi dùng lệnh xong thì cái block no lại bay ra rất xa diểm mình chon. Ban xem lại hộ mình nhé :http://www.cadviet.com/upfiles/3/caodo_2.dwg . Nếu có thể bạn có thể tăng thêm tính năng này không nhé cho mình: mình có thể chọn khoảng cách của block tới điểm đầu của đoạn thẳng không nhé và thêm 1 tính năng nữa là mình có thể lật ngược lại cái block đó nữa nhé bởi khi vẽ bọn mình hay bị chèn vào thiết bị vệ sinh lắm ( hời khó hiểu nhưng trong bản vẽ mình có chú thích rôi ). Cam ơn ban nhé.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

- "bay rất xa" là do bạn định nghĩa điểm chèn của Block như tôi đã nói ở trên

- Đã bổ sung chức năng nhập khoảng cách

- Đã bổ sung chức năng lật ngược với điều kiện bạn phải tạo thêm 2 Block nữa đó là CaoDoLUD và CaoDoRUD (lật ngược của 2 cái Block trước)

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

hi, cái lisp này mình dùng rất ổn , nhưng chỉ có 1 điểm hơi phiền phức là tạo tói 4 block thuoc tính. Các bạn nào có thể giúp mình chỉ dùng 1 block thuộc tính mà vẫn giữ được các chức năng ở trên không. Các bạn giúp mình nhé. Thanks.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×