Đến nội dung


Hình ảnh
- - - - -

Lisp vẽ đường hàn


  • Please log in to reply
16 replies to this topic

#1 cuong49x5

cuong49x5

    biết vẽ pline

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

Đã gửi 01 January 2008 - 01:02 PM

Bác hoành hướng dẫn cho em sử dụng cái lisp này với .Em đã load xong ,thực hiện các bước trong command mà kết quả không ra như ý:

(defun C:hh()
(setq P1 (getpoint p1 "\nDiem dau : "))
(setq P2 (getpoint p1 "\nDiem cuoi : "))
(setq P3 (getpoint p1 "\nPhia co duong han : "))
(setq l (getdist p1 "\nChieu cao duong han : "))
(setq goc (angle p1 p2))

(setq xA (car P1))
(setq yA (cadr P1))
(setq xB (car P2))
(setq yB (cadr P2))
(setq xC (car P3))
(setq yC (cadr P3))

(setq dau (- (* (- xC xA) (- yB yA))
(* (- xB xA) (- yC yA))
)
)

(setq n (distance P1 P2))

(setq x1 (- xA (* l (cos goc))))
(setq y1 (- yA (* l (sin goc))))

(While (> n 0)
(setq x1 (+ x1 (* l (cos goc))))
(setq y1 (+ y1 (* l (sin goc))))

(setq x2 (- x1 (* l (sin goc))))
(setq y2 (+ y1 (* l (cos goc))))

(setq x3 (+ x1 (* l (sin goc))))
(setq y3 (- y1 (* l (cos goc))))

(setq dau2 (- (* (- x2 xA) (- yB yA))
(* (- xB xA) (- y2 yA))
)
)

(if (> (* dau2 dau) 0)
(command "line" (list x1 y1) (list x2 y2) "")
(command "line" (list x1 y1) (list x3 y3) "")
)
(setq n (- n l))
) ;of while
); of defune

  • 0

#2 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 01 January 2008 - 03:16 PM

Bác hoành hướng dẫn cho em sử dụng cái lisp này với .Em đã load xong ,thực hiện các bước trong command mà kết quả không ra như ý:


(defun C:hh()
(setq P1 (getpoint p1 "\nDiem dau : "))
(setq P2 (getpoint p1 "\nDiem cuoi : "))
(setq P3 (getpoint p1 "\nPhia co duong han : "))
(setq l (getdist p1 "\nChieu cao duong han : "))
(setq goc (angle p1 p2))

(setq xA (car P1))
(setq yA (cadr P1))
(setq xB (car P2))
(setq yB (cadr P2))
(setq xC (car P3))
(setq yC (cadr P3))

(setq dau (- (* (- xC xA) (- yB yA))
(* (- xB xA) (- yC yA))
)
)

(setq n (distance P1 P2))

(setq x1 (- xA (* l (cos goc))))
(setq y1 (- yA (* l (sin goc))))

(While (> n 0)
(setq x1 (+ x1 (* l (cos goc))))
(setq y1 (+ y1 (* l (sin goc))))

(setq x2 (- x1 (* l (sin goc))))
(setq y2 (+ y1 (* l (cos goc))))

(setq x3 (+ x1 (* l (sin goc))))
(setq y3 (- y1 (* l (cos goc))))

(setq dau2 (- (* (- x2 xA) (- yB yA))
(* (- xB xA) (- y2 yA))
)
)

(if (> (* dau2 dau) 0)
(command "line" (list x1 y1) (list x2 y2) "")
(command "line" (list x1 y1) (list x3 y3) "")
)
(setq n (- n l))
) ;of while
); of defune


Ý nghĩa của các câu hỏi mà lisp hiển thị:
- Diem dau : là điểm bắt đầu đường hàn
- Diem cuoi: Là điểm cuối cùng của đường hàn
- Phia co duong han: phía có đường hàn
- Chieu cao duong han: Chiều cao của đường hàn
Quá dễ để hiểu, không rõ là bạn thắc mắc ở điểm nào?
  • 0

#3 cuong49x5

cuong49x5

    biết vẽ pline

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

Đã gửi 01 January 2008 - 03:30 PM

Ý nghĩa của các câu hỏi mà lisp hiển thị:
- Diem dau : là điểm bắt đầu đường hàn
- Diem cuoi: Là điểm cuối cùng của đường hàn
- Phia co duong han: phía có đường hàn
- Chieu cao duong han: Chiều cao của đường hàn
Quá dễ để hiểu, không rõ là bạn thắc mắc ở điểm nào?

Thì em cũng biết là như thế :comand viết bằng tiếng anh còn hiểu nữa là tiếng việt !Nhưng thôi bác xem em làm thế này đúng hay sai ?
Load lisp ,sau đó tại comand gõ hh;tiếp đó chọn điểm đầu một đoạn thẳng ,sau đó chọn điểm cuối một đoạn thẳng ,sau đó kích vào một điểm bất kỳ ở một bên đường thằng (vì nó hỏi là phía của đường hàn ), sau đó nhập chiều cao đường hàn là 12mm. Ấn enter thì nó ra bao nhiêu đường thẳng chụm vào 2 cái điểm ta vừa chọn vào là điểm đầu và điểm cuối !Chả hiểu sao nữa ?Trong khi đó cái ta cần là một chuỗi các đường thẳng song song nhau có độ dài là 12mm .Mà hình như em thấy cái lisp này thiếu khoảng cách giữa các đường hàn hay sao ý !Bác biết bổ sung cho em với!Xin cảm ơn bác nhiều
  • 0

#4 Nộ Thiên

Nộ Thiên

    biết lệnh ddedit

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

Đã gửi 01 January 2008 - 03:46 PM

Thì em cũng biết là như thế :comand viết bằng tiếng anh còn hiểu nữa là tiếng việt !Nhưng thôi bác xem em làm thế này đúng hay sai ?
Load lisp ,sau đó tại comand gõ hh;tiếp đó chọn điểm đầu một đoạn thẳng ,sau đó chọn điểm cuối một đoạn thẳng ,sau đó kích vào một điểm bất kỳ ở một bên đường thằng (vì nó hỏi là phía của đường hàn ), sau đó nhập chiều cao đường hàn là 12mm. Ấn enter thì nó ra bao nhiêu đường thẳng chụm vào 2 cái điểm ta vừa chọn vào là điểm đầu và điểm cuối !Chả hiểu sao nữa ?Trong khi đó cái ta cần là một chuỗi các đường thẳng song song nhau có độ dài là 12mm .Mà hình như em thấy cái lisp này thiếu khoảng cách giữa các đường hàn hay sao ý !Bác biết bổ sung cho em với!Xin cảm ơn bác nhiều

ở mục ch.cao dhàn bạn phải nhập số = (drawing unit).
Tức là nếu vẽ bằng tay thì bạn sẽ vẽ line nhỏ cho dhàn dài bao nhiêu (đơn vị vẽ) thì nhập số đó.
Theo mình đóan thì bạn muốn vẽ chcao dhàn =12mm thì fải nhập là "120" (nếu vẽ ở tỉ lệ 1/10).
  • 0

#5 cuong49x5

cuong49x5

    biết vẽ pline

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

Đã gửi 01 January 2008 - 03:59 PM

ở mục ch.cao dhàn bạn phải nhập số = (drawing unit).
Tức là nếu vẽ bằng tay thì bạn sẽ vẽ line nhỏ cho dhàn dài bao nhiêu (đơn vị vẽ) thì nhập số đó.
Theo mình đóan thì bạn muốn vẽ chcao dhàn =12mm thì fải nhập là "120" (nếu vẽ ở tỉ lệ 1/10).

Bạn ơi tớ đang vẽ ở tỷ lệ 1:1 mà!Tớ đang đoán là do lisp bị thiếu khoảng cách giữa các đường hàn nên nó mới thế !Không biết có đúng không?
  • 0

#6 Nộ Thiên

Nộ Thiên

    biết lệnh ddedit

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

Đã gửi 01 January 2008 - 04:14 PM

Bạn ơi tớ đang vẽ ở tỷ lệ 1:1 mà!Tớ đang đoán là do lisp bị thiếu khoảng cách giữa các đường hàn nên nó mới thế !Không biết có đúng không?

thôi Bác tìm file khác mà xài, chứ mình thấy file này viết cũng lằn nhằn lắm.
Viết gì mà cứ sin với cos từa lưa hết.
  • 0

#7 Nộ Thiên

Nộ Thiên

    biết lệnh ddedit

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

Đã gửi 01 January 2008 - 04:19 PM

;VE DUONG HAN
(defun c:hx ()
(setq om (getvar "osmode"))
(setq p1 (getpoint "\n Chon diem thu nhat:"))
(setq p2 (getpoint p1 "\n Chon diem thu hai:"))
(setq hstl 1)
(command "osnap" "none")
(setq a (angle p1 p2))
(setq l (distance p1 p2))
(setq n (fix (/ l hstl)))
(setq p3 (polar p1 a (/ (- l (* n hstl)) 2)) )
(repeat (+ n 1)
(progn (setq p4 (polar p3 (+ a (/ pi 2)) hstl))
(command "line" p3 p4 "")
(setq p3 (polar p3 a hstl))
)
)
(setvar "osmode" om)
)


(defun c:hc ()
(setq om (getvar "osmode"))
(setq p1 (getpoint "\n Chon diem thu nhat:"))
(setq p2 (getpoint p1 "\n Chon diem thu hai:"))
(setq hstl 1)
(command "osnap" "none")
(setq a (angle p1 p2))
(setq l (distance p1 p2))
(setq n (fix (/ l hstl 1.5)))
(setq p3 (polar p1 a (+ (/ (- l (* n hstl 1.5)) 2) (* 0.25 hstl)) ) )
(setq p4 (polar p3 (+ a (/ pi 2)) hstl))
(repeat n
(progn (setq p5 (polar p3 a hstl))
(setq p6 (polar p5 (+ a (/ pi 2)) hstl))
(command "line" p3 p6 "")
(command "line" p4 p5 "")
(setq p3 (polar p3 a (* 1.5 hstl)))
(setq p4 (polar p4 a (* 1.5 hstl)))

)
)
(setvar "osmode" om)
)
;-------------------------------------------------------------------------------------
Chú ý chỉnh dòng màu đỏ cho phù hợp.
1mm paper = (hstl) x (drawing unit)
tùy cách vẽ mà hstl có thể bằng 1 hoặc 100
  • 0

#8 cuong49x5

cuong49x5

    biết vẽ pline

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

Đã gửi 01 January 2008 - 04:54 PM

;VE DUONG HAN
(defun c:hx ()
(setq om (getvar "osmode"))
(setq p1 (getpoint "\n Chon diem thu nhat:"))
(setq p2 (getpoint p1 "\n Chon diem thu hai:"))
(setq hstl 1)
(command "osnap" "none")
(setq a (angle p1 p2))
(setq l (distance p1 p2))
(setq n (fix (/ l hstl)))
(setq p3 (polar p1 a (/ (- l (* n hstl)) 2)) )
(repeat (+ n 1)
(progn (setq p4 (polar p3 (+ a (/ pi 2)) hstl))
(command "line" p3 p4 "")
(setq p3 (polar p3 a hstl))
)
)
(setvar "osmode" om)
)


(defun c:hc ()
(setq om (getvar "osmode"))
(setq p1 (getpoint "\n Chon diem thu nhat:"))
(setq p2 (getpoint p1 "\n Chon diem thu hai:"))
(setq hstl 1)
(command "osnap" "none")
(setq a (angle p1 p2))
(setq l (distance p1 p2))
(setq n (fix (/ l hstl 1.5)))
(setq p3 (polar p1 a (+ (/ (- l (* n hstl 1.5)) 2) (* 0.25 hstl)) ) )
(setq p4 (polar p3 (+ a (/ pi 2)) hstl))
(repeat n
(progn (setq p5 (polar p3 a hstl))
(setq p6 (polar p5 (+ a (/ pi 2)) hstl))
(command "line" p3 p6 "")
(command "line" p4 p5 "")
(setq p3 (polar p3 a (* 1.5 hstl)))
(setq p4 (polar p4 a (* 1.5 hstl)))

)
)
(setvar "osmode" om)
)
;-------------------------------------------------------------------------------------
Chú ý chỉnh dòng màu đỏ cho phù hợp.
1mm paper = (hstl) x (drawing unit)
tùy cách vẽ mà hstl có thể bằng 1 hoặc 100


Dùng lisp của bác rất tốt nhưng mà mỗi tội trong bản vẽ của em có các đường hàn với các chiêu cao khác nhau :6,8,12 mm nên cũng khó sử dụng !Em đang nghĩ hay là ta cứ kệ nhỉ?Thực ra khi in ra bản vẽ thì các chiều cao này cũng chả khác nhau là mấy!Ai mà phần biết được !Bác có nghĩ thế không?Hay nếu được bác giúp em sửa lại cái lisp của bác ,ta chỉ sửa cái chiều cao đường hàn thôi ,bác chỉ cho em chỗ sửa chiều cao đường hàn !Em sẽ cóp ra làm 3 bản ,mỗi bản tương ứng với một chiều cao đường hàn !
  • 1

#9 Nộ Thiên

Nộ Thiên

    biết lệnh ddedit

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

Đã gửi 01 January 2008 - 05:32 PM

Dùng lisp của bác rất tốt nhưng mà mỗi tội trong bản vẽ của em có các đường hàn với các chiêu cao khác nhau :6,8,12 mm nên cũng khó sử dụng !Em đang nghĩ hay là ta cứ kệ nhỉ?Thực ra khi in ra bản vẽ thì các chiều cao này cũng chả khác nhau là mấy!Ai mà phần biết được !Bác có nghĩ thế không?Hay nếu được bác giúp em sửa lại cái lisp của bác ,ta chỉ sửa cái chiều cao đường hàn thôi ,bác chỉ cho em chỗ sửa chiều cao đường hàn !Em sẽ cóp ra làm 3 bản ,mỗi bản tương ứng với một chiều cao đường hàn !

Không ai vẽ chdài đường line theo chcao đường hàn cả. Bởi vì đó chỉ là kí hiệu đường hàn thôi.
Nó chỉ cho biết là hàn kiểu gì thôi.
Còn nếu muốn vẽ theo chcao dhàn thì cũng sửa cái dòng màu đỏ đó.
nếu :
chcao dhàn 10mm tương ứng với hstl = 1 thì
12mm ------------- hstl = 1.2 thế thôi.
Hoặc
chcao dhàn 10mm tương ứng với hstl = 100 thì
12mm ------------- hstl = 120
  • 0

#10 cuong49x5

cuong49x5

    biết vẽ pline

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

Đã gửi 02 January 2008 - 07:47 AM

Không ai vẽ chdài đường line theo chcao đường hàn cả. Bởi vì đó chỉ là kí hiệu đường hàn thôi.
Nó chỉ cho biết là hàn kiểu gì thôi.
Còn nếu muốn vẽ theo chcao dhàn thì cũng sửa cái dòng màu đỏ đó.
nếu :
chcao dhàn 10mm tương ứng với hstl = 1 thì
12mm ------------- hstl = 1.2 thế thôi.
Hoặc
chcao dhàn 10mm tương ứng với hstl = 100 thì
12mm ------------- hstl = 120

Cám ơn nô thiên nhiều nhé !Bạn còn lisp nào dùng để vẽ đồ án thép thì gửi lên cho mình nhé!Cảm ơn bạn rất nhiều!
  • 0

#11 asilet

asilet

    Chưa sử dụng CAD

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

Đã gửi 28 January 2008 - 09:19 AM

Không ai vẽ chdài đường line theo chcao đường hàn cả. Bởi vì đó chỉ là kí hiệu đường hàn thôi.
Nó chỉ cho biết là hàn kiểu gì thôi.
Còn nếu muốn vẽ theo chcao dhàn thì cũng sửa cái dòng màu đỏ đó.
nếu :
chcao dhàn 10mm tương ứng với hstl = 1 thì
12mm ------------- hstl = 1.2 thế thôi.
Hoặc
chcao dhàn 10mm tương ứng với hstl = 100 thì
12mm ------------- hstl = 120

cho em hỏi là: nếu đường hàn của mình là tập hợp các đường cong cắt nhau thì làm sao hả mấy pro, ai biết có thể giúp em với , công ty em không kí hiệu đường hàn bằng nét gạch thẳng
  • 0

#12 MANHHUNGXDA

MANHHUNGXDA

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 926 Bài viết
Điểm đánh giá: 458 (tốt)

Đã gửi 28 January 2008 - 09:34 AM

cho em hỏi là: nếu đường hàn của mình là tập hợp các đường cong cắt nhau thì làm sao hả mấy pro, ai biết có thể giúp em với , công ty em không kí hiệu đường hàn bằng nét gạch thẳng

Có rât nhiều cách khác nhau:
bạn có thể tạo ra theo ý mình, dơn giản vô cùng
-cách 1: dùng lệnh Mesu (me) array đwờng hàn theo đwòng đa tuyến bất kí (
-Ccáh 2: ở 1 quyển cad bất kì, đều hwớng dẫn cách tạo ra 1 đwờng dạng
------------xxx -----xxx ---------xxxx
Hợc---||||---||||---|||||__
bạn đã bao giở thủ chua
-Cách 3: viết 1 đoạn lisp,
-Cách 4- tham khảo các cách của các PRo khác
  • 1
Hãy ước cho trọn 1 ước mơ!

#13 asilet

asilet

    Chưa sử dụng CAD

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

Đã gửi 28 January 2008 - 11:53 AM

Có rât nhiều cách khác nhau:
bạn có thể tạo ra theo ý mình, dơn giản vô cùng
-cách 1: dùng lệnh Mesu (me) array đwờng hàn theo đwòng đa tuyến bất kí (
-Ccáh 2: ở 1 quyển cad bất kì, đều hwớng dẫn cách tạo ra 1 đwờng dạng
------------xxx -----xxx ---------xxxx
Hợc---||||---||||---|||||__
bạn đã bao giở thủ chua
-Cách 3: viết 1 đoạn lisp,
-Cách 4- tham khảo các cách của các PRo khác

quên nữa , mấy cách kia em vẫn đang sài , nhưng thấy cái đoạn lisp mối hàn này hay quá , nên hỏi xem có lisp mối hàn đường cong nào không ạ
  • 0

#14 MANHHUNGXDA

MANHHUNGXDA

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 926 Bài viết
Điểm đánh giá: 458 (tốt)

Đã gửi 28 January 2008 - 02:13 PM

quên nữa , mấy cách kia em vẫn đang sài , nhưng thấy cái đoạn lisp mối hàn này hay quá , nên hỏi xem có lisp mối hàn đường cong nào không ạ


ơ hay nhỉ, thì 2 cách đầu là vẽ đường hàn cho đoạn cong mà
bạn thử xem nhé
cái lệnh ME cũng đơn giản thôi mà
  • 2
Hãy ước cho trọn 1 ước mơ!

#15 tacongthang

tacongthang

    biết vẽ point

  • Members
  • PipPip
  • 99 Bài viết
Điểm đánh giá: 11 (tàm tạm)

Đã gửi 10 March 2008 - 04:44 PM

sao mình dùng lệnh này báo lỗi nhỉ?
"Command: hh ; error: bad argument type: point: nil"
  • 0

#16 lecuongxd.90

lecuongxd.90

    biết vẽ ellipse

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

Đã gửi 25 March 2012 - 06:50 PM

minh cung bij loi vay khong hieu dc co ai biet la sao ko
giup minh voi
  • 0

#17 lecuongxd.90

lecuongxd.90

    biết vẽ ellipse

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

Đã gửi 25 March 2012 - 07:27 PM


Command: hh ; error: bad argument type: point: nil"


cac bac giup em voi sao lisp duong han nay bi loi ma cac lisp khac e dung van bt



<p class="ipsLikeBar right clearfix" id="rep_post_13786" style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; float: right; font-size: 11px; ">
  • 0