Đến nội dung


Hình ảnh
- - - - -

Vẽ 1 đường Line(có 2 đoạn) sau đó cho phép người dùng nhập ký tự vào 2 text1, text2


  • Please log in to reply
21 replies to this topic

#1 truongbv

truongbv

    biết zoom

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

Đã gửi 19 March 2009 - 11:15 AM

Chào anh em.
Bác có thể gúp tôi viết đoạn Lisp có yêu cầu như sau: (yêu cầu ở trong vòng tròn mầu vàng)
http://www.cadviet.c...pfiles/A_A1.dwg
vẽ 1 đường Line(có 2 đoạn) sau đó cho phép người dùng nhập ký tự vào 2 text1, text2
  • 0

#2 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 19 March 2009 - 02:30 PM

Chào anh em.
Bác có thể gúp tôi viết đoạn Lisp có yêu cầu như sau: (yêu cầu ở trong vòng tròn mầu vàng)
http://www.cadviet.c...pfiles/A_A1.dwg
vẽ 1 đường Line(có 2 đoạn) sau đó cho phép người dùng nhập ký tự vào 2 text1, text2

Bạn chưa nói rõ thuộc tính của đường Line và text của bạn (Layer, color)
Đoạn Lisp sau sẽ vẽ 2 đường Line cho bạn sau đó cho phép người dùng nhập ký tự vào 2 text1, text2
Text1 là text trên. Text2 là text dưới.
;;
(defun gocve( goc)
(if (and (> goc 90.0) (< goc 270.0)) (+ goc 180.0) goc)
)
;;
(defun c:LTE()
(prompt "\n Ve 2 duong Line :")
(setq a (getpoint "\n Nhap diem dau cua Line :")
b (getpoint a "\n Nhap diem cuoi cua Line :")
ang (/ (* (angle a b) 180) pi)
c (list (/ (+ (car a) (car b)) 2) (/ (+ (cadr a) (cadr b)) 2)))

(Command "Line" a b "")
(Command "Line" a b "")

(setq ct (getstring "\n Nhap vao chu tren :")
cd (getstring "\n Nhap vao chu duoi :"))

(setq tb (tblsearch "style" "Arial"))
(if (= tb nil)
(Command "style" "arial" "Arial.ttf" "0" "1" "0" "n" "n")
)
(if (/= tb nil)
(progn
(setq hei (cdr (assoc 42 tb))
sty (cdr (assoc 2 tb))
fo (cdr (assoc 3 tb)))

(Command "style" fo "0" "" "" "n" "n")
(Command "text" "j" "BC" c hei (gocve ang) ct)
(Command "text" "j" "TC" c hei (gocve ang) cd)
)
)
(Princ)
)
Hy vọng bạn hài lòng.
Chúc thành công :undecided:
  • 0

#3 truongbv

truongbv

    biết zoom

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

Đã gửi 19 March 2009 - 07:22 PM

Bạn chưa nói rõ thuộc tính của đường Line và text của bạn (Layer, color)
Đoạn Lisp sau sẽ vẽ 2 đường Line cho bạn sau đó cho phép người dùng nhập ký tự vào 2 text1, text2
Text1 là text trên. Text2 là text dưới.

;;
(defun gocve( goc)
(if (and (> goc 90.0) (< goc 270.0)) (+ goc 180.0) goc)
)
;;
(defun c:LTE()
(prompt "\n Ve 2 duong Line :")
(setq a (getpoint "\n Nhap diem dau cua Line :")
b (getpoint a "\n Nhap diem cuoi cua Line :")
ang (/ (* (angle a b) 180) pi)
c (list (/ (+ (car a) (car b)) 2) (/ (+ (cadr a) (cadr b)) 2)))

(Command "Line" a b "")
(Command "Line" a b "")

(setq ct (getstring "\n Nhap vao chu tren :")
cd (getstring "\n Nhap vao chu duoi :"))

(setq tb (tblsearch "style" "Arial"))
(if (= tb nil)
(Command "style" "arial" "Arial.ttf" "0" "1" "0" "n" "n")
)
(if (/= tb nil)
(progn
(setq hei (cdr (assoc 42 tb))
sty (cdr (assoc 2 tb))
fo (cdr (assoc 3 tb)))

(Command "style" fo "0" "" "" "n" "n")
(Command "text" "j" "BC" c hei (gocve ang) ct)
(Command "text" "j" "TC" c hei (gocve ang) cd)
)
)
(Princ)
)
Hy vọng bạn hài lòng.
Chúc thành công :undecided:

Thanks bác
bác vẫn chưa hiểu ý của mình rồi, bác nhìn bản vẽ mình gủi links đó
vẽ line1 ->line2 sau đó hiển thị text1, text2
lưu ý line2 phải song song với line được chọn( line1 trỏ vào line được chọn)
còn thuộc tính của line, text thì để mặc định
cảm ơn anh em trong diễn đàm qua tâm
  • 0

#4 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 19 March 2009 - 08:38 PM

Chào anh em.
Bác có thể gúp tôi viết đoạn Lisp có yêu cầu như sau: (yêu cầu ở trong vòng tròn mầu vàng)
http://www.cadviet.c...pfiles/A_A1.dwg
vẽ 1 đường Line(có 2 đoạn) sau đó cho phép người dùng nhập ký tự vào 2 text1, text2

Bạn truongbv ơi,
Rất tiếc là không giúp gì bạn được vì không thể mở cái bản vẽ của bạn. Nếu có thể bạn hãy post bản vẽ ở các version < Cad2004 thì sẽ có nhiều người mở được hơn bạn ạ. Hiện nay còn rất nhiều người đang xài cad 2004 vì nó khá ổn định và thông dụng hơn nhiều bạn ạ. Thanks.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#5 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 20 March 2009 - 05:33 AM

Thanks bác
bác vẫn chưa hiểu ý của mình rồi, bác nhìn bản vẽ mình gủi links đó
vẽ line1 ->line2 sau đó hiển thị text1, text2
lưu ý line2 phải song song với line được chọn( line1 trỏ vào line được chọn)
còn thuộc tính của line, text thì để mặc định
cảm ơn anh em trong diễn đàn qua tâm

Chào bạn truongbv
Line1, line2, Line được chọn bạn có thể hiện trong hình vẽ đâu?
Không hiểu Line1, line2, Line được chọn là gì thì làm sao có thể viết đúng ý bạn được?
Lúc đầu mình nghĩ Line1; Line2 là đường trùng nhau màu xanh và đỏ cơ đấy.
Bạn hãy nói rõ Line1, line2, Line được chọn thì mới có thể viết Lisp đúng ý bạn được

To PhamthanhBinh : Đã có phần mềm tích hợp trên menu của CAD2004 và các CAD khác có thể mở mọi Version của CAD và còn có thể Save ở mọi Version của CAD. Phần mềm này có tên là DWGgateway. Khi cài xong sẽ tích hợp trên thanh menu của CAD. Diễn đàn mình đã có bài viết nói về nó đấy. Bác xem ở đây : Add on trong autocad mở được tất cả mọi version của cad
  • 0

#6 truongbv

truongbv

    biết zoom

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

Đã gửi 20 March 2009 - 09:35 AM

Chào bạn truongbv
Line1, line2, Line được chọn bạn có thể hiện trong hình vẽ đâu?
Không hiểu Line1, line2, Line được chọn là gì thì làm sao có thể viết đúng ý bạn được?
Lúc đầu mình nghĩ Line1; Line2 là đường trùng nhau màu xanh và đỏ cơ đấy.
Bạn hãy nói rõ Line1, line2, Line được chọn thì mới có thể viết Lisp đúng ý bạn được

To PhamthanhBinh : Đã có phần mềm tích hợp trên menu của CAD2004 và các CAD khác có thể mở mọi Version của CAD và còn có thể Save ở mọi Version của CAD. Phần mềm này có tên là DWGgateway. Khi cài xong sẽ tích hợp trên thanh menu của CAD. Diễn đàn mình đã có bài viết nói về nó đấy. Bác xem ở đây : Add on trong autocad mở được tất cả mọi version của cad


Thanks All anh em đã quan tâm.
các bác có thể xem hinh sau:http://www.cadviet.com/upfiles/A_A1_2000.dwg
ảnh: http://www.cadviet.c...les/Ve_line.jpg
1.Vẽ line1->line2 và cho phép người dùng nhập ký tự vào text1 và text2
2.đường line2 phải song song line và góc (line, line1) bằng 35 độ
mầu của line1, line2, text1, text2 tùy chọn
  • 0

#7 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 20 March 2009 - 10:33 AM

Thanks All anh em đã quan tâm.
các bác có thể xem hinh sau:http://www.cadviet.com/upfiles/A_A1_2000.dwg
ảnh: http://www.cadviet.c...les/Ve_line.jpg
1.Vẽ line1->line2 và cho phép người dùng nhập ký tự vào text1 và text2
2.đường line2 phải song song line và góc (line, line1) bằng 35 độmầu của line1, line2, text1, text2 tùy chọn

Đây bạn :
Điều kiện 2 : Chỉ cần Line2 song song với line là đủ rồi bạn ạ
Bạn nên rút kinh nghiệm khi post bài phải nói rõ ràng nhé :
;;
(defun gocve( goc)
(if (and (> goc 90.0) (< goc 270.0)) (+ goc 180.0) goc)
)
;;
(defun c:LTE(/ c ent sp ep angl a di b ang d ct cd tb hei sty fo)
(vl-load-com)
(setq ent (entsel "\n Chon duong Line:")
c (cadr ent)
ent (car ent)
sp (vlax-curve-getStartPoint ent)
ep (vlax-curve-getEndPoint ent)
angl (angle ep sp)

a (getpoint c "\n Pick diem cuoi cua Line 1 :")
di (getdist a "\n Pick diem cuoi cua Line 2 :")

b (polar a angl di)
ang (/ (* angl 180) pi))

(if (< (cadr b) (cadr a))
(setq ang (+ (/ (* angl 180) pi) 180)
))

(setq d (list (/ (+ (car a) (car b)) 2) (/ (+ (cadr a) (cadr b)) 2)))


(Command "Line" c a "")
(Command "Line" a b "")

(setq ct (getstring "\n Nhap vao chu tren :")
cd (getstring "\n Nhap vao chu duoi :"))

(setq tb (tblsearch "style" "Arial"))
(if (= tb nil)
(progn
(Command "style" "arial" "Arial.ttf" "0" "1" "0" "n" "n")
(setq hei (cdr (assoc 42 tb))
sty (cdr (assoc 2 tb))
fo (cdr (assoc 3 tb)))
)
)
(if (/= tb nil)
(progn
(setq hei (cdr (assoc 42 tb))
sty (cdr (assoc 2 tb))
fo (cdr (assoc 3 tb)))
)
)
(Command "style" fo "0" "" "" "n" "n")
(Command "text" "j" "BC" d hei (gocve ang) ct)
(Command "text" "j" "TC" d hei (gocve ang) cd)

(Princ)
)
Chúc thành công. :undecided:
  • 0

#8 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 20 March 2009 - 11:11 AM

Chào bạn truongbv
Line1, line2, Line được chọn bạn có thể hiện trong hình vẽ đâu?
Không hiểu Line1, line2, Line được chọn là gì thì làm sao có thể viết đúng ý bạn được?
Lúc đầu mình nghĩ Line1; Line2 là đường trùng nhau màu xanh và đỏ cơ đấy.
Bạn hãy nói rõ Line1, line2, Line được chọn thì mới có thể viết Lisp đúng ý bạn được

To PhamthanhBinh : Đã có phần mềm tích hợp trên menu của CAD2004 và các CAD khác có thể mở mọi Version của CAD và còn có thể Save ở mọi Version của CAD. Phần mềm này có tên là DWGgateway. Khi cài xong sẽ tích hợp trên thanh menu của CAD. Diễn đàn mình đã có bài viết nói về nó đấy. Bác xem ở đây : Add on trong autocad mở được tất cả mọi version của cad

Cám ơn bác Tue_NV lắm lắm.
Vì mình toàn học mót nên kiến thức về các phần mềm ít lắm, toàn là những cái đã thông dụng thối, chứ đi vào vọc lung tung thì chưa dám, chỉ sợ nó làm tiêu mất cái mình đang có. Do nhát vậy nên nhiều khi bí tị. Vô diễn đàn được các bác chỉ thêm nhiều phần mềm có ích, mình rất cám ơn. Hy vọng các bác thông cảm giúp mình nhiều hiều nhé. Thanks bác nhiều.
Mình đã cài cái DWG gateway nhưng sao chỉ mở được cái bản vẽ bạn Truongbv gửi lần thứ hai thôi, cái bạn ấy gửi lần đầu vẫn không mở được bác Tue_nv ạ. Bác chỉ giúp mình nhé.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#9 truongbv

truongbv

    biết zoom

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

Đã gửi 20 March 2009 - 11:29 AM

Thanks bác Tue_NV và tất cả anh em trong diễn đàn đã quan tâm
  • 0

#10 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 20 March 2009 - 11:47 AM

Cám ơn bác Tue_NV lắm lắm.
Vì mình toàn học mót nên kiến thức về các phần mềm ít lắm, toàn là những cái đã thông dụng thối, chứ đi vào vọc lung tung thì chưa dám, chỉ sợ nó làm tiêu mất cái mình đang có. Do nhát vậy nên nhiều khi bí tị. Vô diễn đàn được các bác chỉ thêm nhiều phần mềm có ích, mình rất cám ơn. Hy vọng các bác thông cảm giúp mình nhiều hiều nhé. Thanks bác nhiều.
Mình đã cài cái DWG gateway nhưng sao chỉ mở được cái bản vẽ bạn Truongbv gửi lần thứ hai thôi, cái bạn ấy gửi lần đầu vẫn không mở được bác Tue_nv ạ. Bác chỉ giúp mình nhé.

Chào Bác PhamThanhBinh
Cái bản vẽ bạn Truongbv là bản vẽ mà bạn ấy đã lưu CAD2000 nên mở được.
Còn bản vẽ đầu tiên bạn ấy gửi lưu ở CAD đời mới. nên với CAD đời cũ sử dụng DWGgateway mà đọc.
Cách sử dụng khá đơn giản : Khi cài xong DWGgateway thì DWGgateway sẽ tích hợp trên menu của CAD -> Bạn chọn Open Any DWG Version -> Hiện lên hộp thoại Open -> Bạn chọn File -> open
Bác xem hình vẽ dưới đây :
Hình đã gửi

Tue_NV cũng là người học lóm, học mót như bác thôi. Cái hàm gocve đó là của bác tdvn góp ý đó. bác nhớ không?. Mình xin kể cho bác Bình nghe chuyện này : Thầy giáo mình hồi xưa dạy lớp Cài đặt và bảo trì máy vi tính. Thầy nói rằng khi xưa thầy đi học nghề Cài đặt và bảo trì máy vi tính cho người ta, thầy cũng đã học lớp điện tử, sửa ti vi. Thầy đã phá rất nhiều cái máy do tính ham học, tò mò và thầy đã bị họ bắt đền, bị lấy tiền, đôi lúc không còn đồng xu dính túi. Thầy học nhiều, phá nhiều và đền cũng nhiều và kết cục là thầy đã có một cái nghề rất giỏi, rất giỏi.
  • 0

#11 truongbv

truongbv

    biết zoom

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

Đã gửi 20 March 2009 - 04:46 PM

Bác Tue_NV ơi
phiền bác có thể gúp tôi, khi chạy thì Ok rồi nhưng tại sao line1 và line2 không snap vào nhau được
mình muốn line1 và line2 phải snap với nhau(hay line1 và line2 = Pline)
và bác có thể sửa gúp: khi chạy thì line1, line2 cùng layer (VD layer1)
, text1 ở layer2, text2 ở layer3 (line1+line2 ở layer1, text1 ở layer2, text2 ở layer3: có 3 layer)
Thanks bác và anh em đã quan tâm
  • 0

#12 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 20 March 2009 - 08:09 PM

Bác Tue_NV ơi
phiền bác có thể gúp tôi, khi chạy thì Ok rồi nhưng tại sao line1 và line2 không snap vào nhau được
mình muốn line1 và line2 phải snap với nhau(hay line1 và line2 = Pline)
và bác có thể sửa gúp: khi chạy thì line1, line2 cùng layer (VD layer1)
, text1 ở layer2, text2 ở layer3 (line1+line2 ở layer1, text1 ở layer2, text2 ở layer3: có 3 layer)
Thanks bác và anh em đã quan tâm

Chào bạn truongbv
bạn nên rút kinh nghiệm khi post bài viết : bạn nên nói cụ thể ngay từ đầu để khỏi làm mất thời gian của chính mình và của người khác bạn nhé.
bạn nói Line1 - Line 2 là 1 đường polyline duy nhất phải không?
Còn Layer1; Layer2; Layer3 cụ thể đó là tên layer gì trong file bản vẽ của bạn?
Bạn nói rõ ra nhé.
  • 0

#13 truongbv

truongbv

    biết zoom

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

Đã gửi 21 March 2009 - 08:46 AM

Chào bạn truongbv
bạn nên rút kinh nghiệm khi post bài viết : bạn nên nói cụ thể ngay từ đầu để khỏi làm mất thời gian của chính mình và của người khác bạn nhé.
bạn nói Line1 - Line 2 là 1 đường polyline duy nhất phải không?
Còn Layer1; Layer2; Layer3 cụ thể đó là tên layer gì trong file bản vẽ của bạn?
Bạn nói rõ ra nhé.

Thanks bác đã góp ý lần sau tôi xin rút kinh nghiệm
+ Đúng ạ Line1-Line2 là 1 đường Polyline
+ Line1-Line2 là 1 đường Polyline thuộc Layer1 tên layer là "PLine trich dan"
+ Text1 thuộc Layer2 có tên layer là "Text do rong tren"
+ Text2 thuộc Layer3 có tên layer là "Text do rong duoi"
  • 0

#14 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 21 March 2009 - 09:13 AM

Thanks bác đã góp ý lần sau tôi xin rút kinh nghiệm
+ Đúng ạ Line1-Line2 là 1 đường Polyline
+ Line1-Line2 là 1 đường Polyline thuộc Layer1 tên layer là "PLine trich dan"
+ Text1 thuộc Layer2 có tên layer là "Text do rong tren"
+ Text2 thuộc Layer3 có tên layer là "Text do rong duoi"

Lẽ ra bạn nên nói thêm các thuuọc tính của các layer "PLine trich dan" ; "Text do rong tren" ; "Text do rong duoi" để người viết Lisp viết thêm trong đoạn Code nữa.
Đây là đoạn code theo ý bạn
;;
(defun gocve( goc)
(if (and (> goc 90.0) (< goc 270.0)) (+ goc 180.0) goc)
)
;;
(defun c:LTE(/ c ent sp ep angl a di b ang d ct cd tb hei sty fo)
(vl-load-com)
(setq ent (entsel "\n Chon duong Line:")
c (cadr ent)
ent (car ent)
sp (vlax-curve-getStartPoint ent)
ep (vlax-curve-getEndPoint ent)
angl (angle ep sp)

a (getpoint c "\n Pick diem cuoi cua Line 1 :")
di (getdist a "\n Pick diem cuoi cua Line 2 :")

b (polar a angl di)
ang (/ (* angl 180) pi))

(if (< (cadr b) (cadr a))
(setq ang (+ (/ (* angl 180) pi) 180)
))

(setq d (list (/ (+ (car a) (car b)) 2) (/ (+ (cadr a) (cadr b)) 2)))


(Command "PLine" c a b "")
(if (= (tblobjname "layer" "PLine trich dan") nil)
(Command "layer" "n" "PLine trich dan" "")
)
(Command "change" "L" "" "P" "LA" "PLine trich dan" "")


(setq ct (getstring "\n Nhap vao chu tren :")
cd (getstring "\n Nhap vao chu duoi :"))

(setq tb (tblsearch "style" "Arial"))
(if (= tb nil)
(progn
(Command "style" "arial" "Arial.ttf" "0" "1" "0" "n" "n")
(setq hei (cdr (assoc 42 tb))
sty (cdr (assoc 2 tb))
fo (cdr (assoc 3 tb)))
)
)
(if (/= tb nil)
(progn
(setq hei (cdr (assoc 42 tb))
sty (cdr (assoc 2 tb))
fo (cdr (assoc 3 tb)))
)
)
(Command "style" fo "0" "" "" "n" "n")
(Command "text" "j" "BC" d hei (gocve ang) ct)

(if (= (tblobjname "layer" "Text do rong tren") nil)
(Command "layer" "n" "Text do rong tren" "")
)
(Command "change" "L" "" "P" "LA" "Text do rong tren" "")

(Command "text" "j" "TC" d hei (gocve ang) cd)
(if (= (tblobjname "layer" "Text do rong duoi") nil)
(Command "layer" "n" "Text do rong duoi" "")
)
(Command "change" "L" "" "P" "LA" "Text do rong duoi" "")


(Princ)
)

  • 0

#15 truongbv

truongbv

    biết zoom

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

Đã gửi 21 March 2009 - 01:19 PM

Bác Tue_NV ơi tôi lại làm phiền bác 1 chút rồi
khi vẽ thì chỉ được 1 chiều còn chiều kia thì chưa được
bác xem hình đây
http://www.cadviet.c...files/Pline.jpg
tôi chỉnh mãi mà từ sáng đến giờ vẫn chưa được lại làm phiền bác vậy
bác viết code sao cho + vẽ theo hướng nào thì nó vẫn được
+ và thêm đk nữa là đối tượng được chọn=line2 (line2 song song với đối tượng chọn)
  • 0

#16 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 21 March 2009 - 03:25 PM

Chào Bác PhamThanhBinh
Cái bản vẽ bạn Truongbv là bản vẽ mà bạn ấy đã lưu CAD2000 nên mở được.
Còn bản vẽ đầu tiên bạn ấy gửi lưu ở CAD đời mới. nên với CAD đời cũ sử dụng DWGgateway mà đọc.
Cách sử dụng khá đơn giản : Khi cài xong DWGgateway thì DWGgateway sẽ tích hợp trên menu của CAD -> Bạn chọn Open Any DWG Version -> Hiện lên hộp thoại Open -> Bạn chọn File -> open
Bác xem hình vẽ dưới đây :
Hình đã gửi

Tue_NV cũng là người học lóm, học mót như bác thôi. Cái hàm gocve đó là của bác tdvn góp ý đó. bác nhớ không?. Mình xin kể cho bác Bình nghe chuyện này : Thầy giáo mình hồi xưa dạy lớp Cài đặt và bảo trì máy vi tính. Thầy nói rằng khi xưa thầy đi học nghề Cài đặt và bảo trì máy vi tính cho người ta, thầy cũng đã học lớp điện tử, sửa ti vi. Thầy đã phá rất nhiều cái máy do tính ham học, tò mò và thầy đã bị họ bắt đền, bị lấy tiền, đôi lúc không còn đồng xu dính túi. Thầy học nhiều, phá nhiều và đền cũng nhiều và kết cục là thầy đã có một cái nghề rất giỏi, rất giỏi.

Ối ối, bác Tuê_Nv ơi,
Mình đã down về rồi, đã cài và trên Cad 2004 của mình đã xuất hiện cái menu DWGGateway rồi. Mình cũng đã vào đúng cái menu đó, chọn đúng cái Open any DWG version, rồi chọn vào cái file của bạn Truongbv đã được mình down về lưu lại. Vậy mà nó cứ trơ thổ địa ra, không chịu mở cho mình coi, lại còn mắng mình là Drawing filename is not value. Thế có tức không cơ chứ. Có nhẽ nó thù hằn mình chi đó bác ạ. Chắc phải nhờ tòa hòa giải mất bác nhể. Hì hì khổ thế.
Chúc bác vui.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#17 truongbv

truongbv

    biết zoom

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

Đã gửi 21 March 2009 - 03:48 PM

Ối ối, bác Tuê_Nv ơi,
Mình đã down về rồi, đã cài và trên Cad 2004 của mình đã xuất hiện cái menu DWGGateway rồi. Mình cũng đã vào đúng cái menu đó, chọn đúng cái Open any DWG version, rồi chọn vào cái file của bạn Truongbv đã được mình down về lưu lại. Vậy mà nó cứ trơ thổ địa ra, không chịu mở cho mình coi, lại còn mắng mình là Drawing filename is not value. Thế có tức không cơ chứ. Có nhẽ nó thù hằn mình chi đó bác ạ. Chắc phải nhờ tòa hòa giải mất bác nhể. Hì hì khổ thế.
Chúc bác vui.

Thôi bác à. không cần tức làm gì cho nó hại sức khẻo
đây tôi gủi bác file mở được ở CAD 2000 và code bác Tue_NV viết
bác có cao kiến gì gúp tôi chỉnh lại code 1 chút vì nó chưa được như ý
của tôi bác có thể xem trên bản vẽ tôi khoanh tròn đó
http://www.cadviet.c...A_A1_2000_1.dwg
code
http://www.cadviet.c...ine_va_text.lsp
cám ơn các bác đã quan tâm.
chúc anh em ngày nghỉ cuối tuần vui vẻ. :undecided:
  • 0

#18 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 21 March 2009 - 04:12 PM

Bác Tue_NV ơi tôi lại làm phiền bác 1 chút rồi
khi vẽ thì chỉ được 1 chiều còn chiều kia thì chưa được
bác xem hình đây
http://www.cadviet.c...files/Pline.jpg
tôi chỉnh mãi mà từ sáng đến giờ vẫn chưa được lại làm phiền bác vậy
bác viết code sao cho + vẽ theo hướng nào thì nó vẫn được
+ và thêm đk nữa là đối tượng được chọn=line2 (line2 song song với đối tượng chọn)

Chào bạn Truongbv,
1/- Vấn đề của bạn là ở chỗ xác định tọa độ của điểm b trong đoạn lisp của bác Tue_NV mà thôi. Bạn hãy tham khảo cái hàm gocve ở ngay trong lisp đó để bổ sung cho việc xác định goc angl trong dòng code (setq b (polar a angl di)) là Ok thôi mà. Bạn tự sửa nhé.
2/- Không hiểu ý bạn. Đối tượng được chọn bằng line 2 , line 2 song song với đối tượng là sao bạn nhỉ??? Phải chăng bạn muốn nói là để chọn một đối tượng nào đó trên cad, bạn sẽ chọn vào một đối tượng khác song song với nó??? Bạn hãy nhớ rằng khi bạn chọn đối tượng line để làm cơ sở cho các việc xác định khác trong đoạn lisp này thì cái line 2 của bạn đã có đâu mà chọn nó . Cái line 2 chỉ có được sau khi đã có line rồi và thực hiện hàng loạt các thao tác khác nữa bạn ạ.
Rất mong bạn trình bày thật rõ cái ý tưởng của mình chứ không có chỉ tổ làm đau đầu những người muốn giúp bạn như bác Tue_NV thôi, mà hệ quả là bạn vẫn chả có được cái mình cần.
Chào bạn và chúc bạn thành công.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#19 truongbv

truongbv

    biết zoom

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

Đã gửi 21 March 2009 - 04:48 PM

Chào bạn Truongbv,
1/- Vấn đề của bạn là ở chỗ xác định tọa độ của điểm b trong đoạn lisp của bác Tue_NV mà thôi. Bạn hãy tham khảo cái hàm gocve ở ngay trong lisp đó để bổ sung cho việc xác định goc angl trong dòng code (setq b (polar a angl di)) là Ok thôi mà. Bạn tự sửa nhé.
2/- Không hiểu ý bạn. Đối tượng được chọn bằng line 2 , line 2 song song với đối tượng là sao bạn nhỉ??? Phải chăng bạn muốn nói là để chọn một đối tượng nào đó trên cad, bạn sẽ chọn vào một đối tượng khác song song với nó??? Bạn hãy nhớ rằng khi bạn chọn đối tượng line để làm cơ sở cho các việc xác định khác trong đoạn lisp này thì cái line 2 của bạn đã có đâu mà chọn nó . Cái line 2 chỉ có được sau khi đã có line rồi và thực hiện hàng loạt các thao tác khác nữa bạn ạ.
Rất mong bạn trình bày thật rõ cái ý tưởng của mình chứ không có chỉ tổ làm đau đầu những người muốn giúp bạn như bác Tue_NV thôi, mà hệ quả là bạn vẫn chả có được cái mình cần.
Chào bạn và chúc bạn thành công.

Cám ơn bác đã quan tâm, vì mới tìm hiểu nên cũng chưa biết được nhiều mong các bác thông cảm
  • 0

#20 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 21 March 2009 - 05:00 PM

Thôi bác à. không cần tức làm gì cho nó hại sức khẻo
đây tôi gủi bác file mở được ở CAD 2000 và code bác Tue_NV viết
bác có cao kiến gì gúp tôi chỉnh lại code 1 chút vì nó chưa được như ý
của tôi bác có thể xem trên bản vẽ tôi khoanh tròn đó
http://www.cadviet.c...A_A1_2000_1.dwg
code
http://www.cadviet.c...ine_va_text.lsp
cám ơn các bác đã quan tâm.
chúc anh em ngày nghỉ cuối tuần vui vẻ. :undecided:

Chào bạn Truongbv,
Bạn hãy bổ sung khúc lisp này vào đầu đoạn lisp của bác Tue_NV:
(defun gocveline ( goc gc)
(if (and (> gc 0.0) (< gc pi)) (+ goc pi) goc)
)
đoạn lisp dưới đây vào trước dòng code b (polar a angl di):
angl (gocveline angl (angle c a))
đoạn lisp này để trả lại giá trị của angl trong lisp của bác Tue_nv vào dưới dòng code b (polar a angl di):
angl (angle ep sp)

Cuối cùng nhớ bổ sung hai biến mới gc và goc vào trong danh sách các biến của hàm tl nhé.

Và OK ngay cái yêu cầu 1 của bạn. Hãy thử xem vì mình mới chỉ suy luận vậy chứ chưa thử nghiệm.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.