Đến nội dung


Hình ảnh

Giúp em vần đề linetype


  • Please log in to reply
17 replies to this topic

#1 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 02 November 2012 - 04:35 PM

em có 1 số linetye riêng, ý em là load 1 lần sau này khởi động là nó có lun ko phải load lại cái này em đã làm đc, giờ em mún khi mở bất kỳ bản vẽ nào nó cũng load lun những linetype của em lun, chứ bình thường khi khởi động trang cad mới mới có còn khi mở 1 file bất kỳ thì ko có, ý đồ của em thực hiện đc ko mong được các anh giúp đỡ
  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#2 Hantinhsaycad

Hantinhsaycad

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 1073 Bài viết
Điểm đánh giá: 376 (khá)

Đã gửi 02 November 2012 - 08:46 PM

Một ý tưởng hay ,
  • 0

Đừng để một ai chẳng nhận được gì khi rời chỗ bạn, cho dù bạn biết rằng không bao giờ gặp lại.

Ngạn ngữ Pháp


#3 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 02 November 2012 - 08:57 PM

Nếu khi mở 1 file cad bất kỳ ko phải file acadiso.dwt em đã add sẵn linetype của em ở trong, mà ko có những linetype em cần thì em load lại là xong nhưng cái tội làm biếng nên hỏi thử xem có cách nào khác ko hi ^^
  • 1
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#4 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 03 November 2012 - 02:29 PM

Làm lisp tự động insert cái file có sẳn các cái mong muốn vào.

(defun S::STARTUP ()
(command ".insert" "đuonganfile" "0,0" "" "")
)
  • 2

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#5 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 03 November 2012 - 04:11 PM

em làm đc rùi anh duy thank anh,nếu linetype của em đã tạo thành file ".lin" rùi có cách khác để add vào 1 file bất kỳ mà ko cần load ko anh
  • 1
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#6 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 03 November 2012 - 04:18 PM

Vụ này tôi cũng đang tìm mà chưa hiểu.
  • 1

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#7 dattran

dattran

    biết zoom

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

Đã gửi 02 January 2013 - 06:43 AM

em vẽ điện cần vụ này lắm, tìm hiểu được sẽ pm lại liền
  • 0

#8 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 02 January 2013 - 07:09 AM

vụ này mình đã tìm hiểu dùng 1 cách khác là dug lsp tiện hơn cách dùng bình thường 1 tí nhưng có 1 nhược điểm là ko thể load 1 lúc nguyên file .lin đc chỉ có cách load từng cái trong đó vì thế nếu file .lin của bạn nhiều linetype thì phải khai báo hơi nhiều trong lsp^^. nhưng cực 1 lần rùi thui sau này tring bất kỳ file nào lúc nào bạn mún load chỉ cần đáng 1 lệnh enter 1 cái là có hết :D
  • 0
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#9 dattran

dattran

    biết zoom

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

Đã gửi 04 January 2013 - 06:57 AM

cho em xin đoạn lsp để nghiên cứu
  • 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 04 January 2013 - 07:25 AM

vụ này mình đã tìm hiểu dùng 1 cách khác là dug lsp tiện hơn cách dùng bình thường 1 tí nhưng có 1 nhược điểm là ko thể load 1 lúc nguyên file .lin đc chỉ có cách load từng cái trong đó vì thế nếu file .lin của bạn nhiều linetype thì phải khai báo hơi nhiều trong lsp^^. nhưng cực 1 lần rùi thui sau này tring bất kỳ file nào lúc nào bạn mún load chỉ cần đáng 1 lệnh enter 1 cái là có hết :D

Cái này có thể sử dụng lệnh Linetype mà load -> Thích anh nào thì load lên mà chọn linetype ấy thôi
  • 0

#11 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 04 January 2013 - 07:47 AM

Thanks anh Tue vì em dùng lệnh cad nhiều bước nên lười :D, nếu mình tạo hay lượm nhặt đc các linetype rùi đóng nó thành file.lin mún load mổi lần phải load tìm đường dẫn chọn -> ok. Nay dùng lsp gọn hơn 1 ít hihi.
Đây bạn dattran tham khảo hỉ

(defun c:llt ()
(if (tblsearch "ltype" "tên file.lin của bạn")
(command "linetype" "load" "tên file.lin của bạn" "ghi đường dẫn đến chỗ chứa file .lin đó" "y")
(command "linetype" "load" "viết đúng tên của mỗi linetype trong file.lin bạn mún load, sau mỗi tên phải có 1 dấu phẩy" "ghi đường dẫn đến chỗ chứa file .lin đó" ""))
)

Lưu ý chỉ thay ngay đúng chữ viết màu đỏ, màu đen giữ nguyên y chang nhé :D
Code ví dụ

(defun c:llt ()
(if (tblsearch "ltype" "acad.lin")
(command "linetype" "load" "acad.lin" "C:\\program files\\autodesk\\autocad 2012 - English\\supports\\acad.lin" "y")
(command "linetype" "load" "DASHDOT,DASHED" "C:\\program files\\autodesk\\autocad 2012 - English\\supports\\acad.lin" ""))
)

  • 1
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#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 04 January 2013 - 08:10 AM

Thanks anh Tue vì em dùng lệnh cad nhiều bước nên lười :D, nếu mình tạo hay lượm nhặt đc các linetype rùi đóng nó thành file.lin mún load mổi lần phải load tìm đường dẫn chọn -> ok. Nay dùng lsp gọn hơn 1 ít hihi.
Đây bạn dattran tham khảo hỉ

Lưu ý chỉ thay ngay đúng chữ viết màu đỏ, màu đen giữ nguyên y chang nhé :D
Code ví dụ


(defun c:llt ()
(if (tblsearch "ltype" "acad.lin")
(command "linetype" "load" "acad.lin" "C:\\program files\\autodesk\\autocad 2012 - English\\supports\\acad.lin" "y")
(command "linetype" "load" "DASHDOT,DASHED" "C:\\program files\\autodesk\\autocad 2012 - English\\supports\\acad.lin" ""))
)

Code load tất cả Linetype trong 1 file acad.lin đây bạn :

(defun c:Loadltype(/ f lst-lt data)
;;writen by Tue_NV
(setq doc (vla-get-activedocument (vlax-get-acad-object)))
(setq f (open (findfile "acad.lin") "r"))
(while (setq data (read-line f))
(if (wcmatch data "`**@*`,*")
(setq lst-lt (append lst-lt (list (substr data (+ (vl-string-search "*" data) 2)
(1- (vl-string-search "," data))
)
)
)
)
)
)
(close f)
(mapcar '(lambda(x) (loadLinetype doc x "acad.lin")) lst-lt)
(princ)
)
(defun loadLinetype (doc LineTypeName FileName)
(vl-catch-all-error-p
(vl-catch-all-apply
'vla-load
(list
(vla-get-Linetypes doc)
LineTypeName
FileName
)
)
)
)
Tương tự, để load các linetype trong 1 file *lin -> xem code trên để tuỳ biến cho phù hợp
  • 3

#13 nhoclangbat

nhoclangbat

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1409 Bài viết
Điểm đánh giá: 379 (khá)

Đã gửi 04 January 2013 - 08:20 AM

ui chao phức tạp wá :D, anh Ket chưa dạy đến chỗ cao siêu vầy ^^, em mới học nên chỉ có thể viết đơn giản như trên.
Thanks anh Tue down về khi nào học tới đem ra tham khảo học hỏi ^^
  • 1
"...................][)e\/i][_ /\/\@Y CrY....................."

(defun THỔ_DÂN_HỌC_CAD (xxxx) ...) ^_^








#14 tkc1102

tkc1102

    Chưa sử dụng CAD

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

Đã gửi 22 January 2013 - 10:52 AM

Cái này cũng không phức tạp lắm, không cần tới lips. Bạn có thể làm như sau:
1. Bạn mở một bản vẽ mới lên rồi bạn tạo đầy đủ các layers, linetype, kiểu chữ.....tóm lại là bản vẽ đầy đủ theo nhu cầu mà bạn cân.
2. Đến đây khi bạn đã tạo hoàn chỉnh xong hết bạn chọn save as ---> Chọn Drawing Template. Tới đây nó hiện ra một hộp thoại cho bạn lựa chọn ( đặt tên cho file cad template tại thư mục template trong thư viện của autocad) ----> Hộp thoại Template options hiển thị bạn chọn : mục Measurement là Metric, mục New layer Notification là: Save all layers as unreconciled. Tới đây bạn đã tạo được một file cad chuẩn trong thư viện của cad.
3. Sau khi thực hiện 2 bước trến xong bạn vào mục option (lệnh op), thì hộp thoại options hiện ra tại thẻ đầu tiên ( thẻ files) bạn chon mục tempalte setting ----> Default template file name for QNEW ( lựa chọn lile cad khi khởi động cad mặc định), thì ta chọn file cad mà bạn tạo ở trên trong thư mục template trong thư viện cad là xong.
Chúc các bạn thành công !
  • 0

#15 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 22 January 2013 - 11:22 AM

Giờ mới thấy bài này nổi lên, thấy code bác Tuệ dài quá ^^

(defun llt(f / a B) ;(llt "acad.lin")
(setq b (mapcar 'getvar (setq a '(EXPERT CMDECHO))))
(mapcar 'setvar a '(3 0))
(cond ((findfile f)(command "-linetype" "load" "*" f "")))
(mapcar 'setvar a B)
)

  • 4

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


#16 determination

determination

    biết vẽ line

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

Đã gửi 19 February 2013 - 09:45 AM

ôi trời mấy bác pro quá, không biết bao giờ mình được như mấy bác đây. huhu


  • 0

#17 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 19 February 2013 - 11:01 AM

Code box lại lỗi rồi ^^


  • 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


#18 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 19 February 2013 - 11:57 AM

Vừa fix xong!


  • 0