Đến nội dung


Hình ảnh
* * * - - 8 Bình chọn

Viết lisp theo yêu cầu [phần 2]


  • Chủ đề bị khóa Chủ đề bị khóa
3783 replies to this topic

#3341 TokyoNhat

TokyoNhat

    biết vẽ spline

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

Đã gửi 18 April 2011 - 11:50 PM

Các anh ơi , cho e hỏi liệu có 1 lisp như sau ko ạ . Bản vẽ của e mang về gồm rất nhiều text Style khác nhau . E chọn tất cả các text đưa về layer TEXT và tạo 1 text Style : TEXT CHUẨN . Em muỗn hỏi có 1 lisp nào chuyển các Text Style cũ chuyển sang Style " TEXT CHUAN " . bởi vì bản vẽ e có nhiều Style quá cứ chọn từng cái 1 và chuyển sang TEXT CHUAN thì mất nhiều thời gian quá . Em cũng muốn hỏi thêm là có Lisp giúp chuyển DimStyle của bản vẽ cũ thành DimStyle chuẩn ko ạ ? Em cám ơn các anh ạ .
  • 0
  • Quá khứ là lịch sử, tương lai là màu nhiệm, còn hiện tại là món quà của cuộc sống...
  • Cuộc sống vốn không công bằng - Hãy tập quen dần với điều đó

#3342 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 19 April 2011 - 12:02 AM

Các anh ơi , cho e hỏi liệu có 1 lisp như sau ko ạ . Bản vẽ của e mang về gồm rất nhiều text Style khác nhau . E chọn tất cả các text đưa về layer TEXT và tạo 1 text Style : TEXT CHUẨN . Em muỗn hỏi có 1 lisp nào chuyển các Text Style cũ chuyển sang Style " TEXT CHUAN " . bởi vì bản vẽ e có nhiều Style quá cứ chọn từng cái 1 và chuyển sang TEXT CHUAN thì mất nhiều thời gian quá . Em cũng muốn hỏi thêm là có Lisp giúp chuyển DimStyle của bản vẽ cũ thành DimStyle chuẩn ko ạ ? Em cám ơn các anh ạ .

Việc bạn cần làm mình nghĩ chưa cần tới lisp, hãy tận dụng Qselect và Ctrl+1
  • 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


#3343 TokyoNhat

TokyoNhat

    biết vẽ spline

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

Đã gửi 19 April 2011 - 12:34 AM

Anh cho e hỏi , nếu sử dụng Qselect và ctril 1 thì m phải chon từng text , liệu làm sao mà ta có thể chuyển 1 hẳn 1 Style này Sang Style kia được ạ .
  • 0
  • Quá khứ là lịch sử, tương lai là màu nhiệm, còn hiện tại là món quà của cuộc sống...
  • Cuộc sống vốn không công bằng - Hãy tập quen dần với điều đó

#3344 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 19 April 2011 - 08:41 AM

Anh cho e hỏi , nếu sử dụng Qselect và ctril 1 thì m phải chon từng text , liệu làm sao mà ta có thể chuyển 1 hẳn 1 Style này Sang Style kia được ạ .

Xin lỗi bạn, nếu trả lời dài dòng thì làm loãng topic, nếu có gì hỏi tiếp thì bạn sang mục kỹ thuật ha..Qselect + Ctrl 1 không hà cớ j bạn phải chọn từng text cả.Bạn dùng Qselect, chọn tất cả các text -> Ctrl 1 -> Ở mục style bạn chọn Style cần chuyển. Các đối tượng khác với các Properties khác cũng làm như thế. Tất nhiên, ở đây mình chưa nói đến các thứ k thể chọn khơi khơi, như đối tượng trong Block. Còn về Lisp, có thể làm đc nhưng mình nghĩ bạn chưa cần nó
  • 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


#3345 blackcrystal4284

blackcrystal4284

    biết pan

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

Đã gửi 19 April 2011 - 07:40 PM

Xin lỗi bạn, nếu trả lời dài dòng thì làm loãng topic, nếu có gì hỏi tiếp thì bạn sang mục kỹ thuật ha..Qselect + Ctrl 1 không hà cớ j bạn phải chọn từng text cả.Bạn dùng Qselect, chọn tất cả các text -> Ctrl 1 -> Ở mục style bạn chọn Style cần chuyển. Các đối tượng khác với các Properties khác cũng làm như thế. Tất nhiên, ở đây mình chưa nói đến các thứ k thể chọn khơi khơi, như đối tượng trong Block. Còn về Lisp, có thể làm đc nhưng mình nghĩ bạn chưa cần nó

Tôi thấy bạn trả lời nghe hơi chuối. Đôi khi tôi cũng phải gia công lại các bản vẽ của người khác. Và để thao tác nhanh hơn tôi thấy nếu có lisp sẽ rất tiện dụng. Còn nếu sử dụng Ctrl 1 rất mất thời gian. Chưa kể nếu gặp phải các đối tượng thuộc tính và blog. Ko hiểu sao bạn lại nghĩ được cho người ta là họ chưa cần đến nó. Vậy đến bao giờ họ mới cần đến nó:)
  • 0

#3346 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 19 April 2011 - 09:47 PM

Anh cho e hỏi , nếu sử dụng Qselect và ctril 1 thì m phải chon từng text , liệu làm sao mà ta có thể chuyển 1 hẳn 1 Style này Sang Style kia được ạ .

Nếu bạn muốn gọn gàng, có thể tạo 1 file CAD standard và sử dụng chức năng này ở menu Tool -> CAD Standard, đảm bảo bạn sẽ thích :)Như mình đã nói, topic này không phải để viết tut, nên nếu không phải là 1 yêu cầu lisp khả thi và rõ ràng, hoặc nếu lisp chưa được đắpúng, bạn có thể qua bên Kỹ thuật để hỏi về các thủ thuật xử lý nó trước khi nghĩ tới lisp :)



Còn nếu sử dụng Ctrl 1 rất mất thời gian. Chưa kể nếu gặp phải các đối tượng thuộc tính và blog. Ko hiểu sao bạn lại nghĩ được cho người ta là họ chưa cần đến nó. Vậy đến bao giờ họ mới cần đến nó:)

Đỏ : :blush:
Xanh : bạn đọc lại bài mình viết ha
Tím : Nếu bạn cũng cần, và đã có, hãy chia sẻ với Tokyo.
Tks bạn vì đã góp ý
  • 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


#3347 duchieu0205

duchieu0205

    biết vẽ line

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

Đã gửi 20 April 2011 - 03:52 PM

Em có vấn đề này nhờ các cao thủ giúp đỡ:
Khi vẽ bản vẽ không theo tỉ lệ 1:1 mà cần stretch thi phải nhân chia rất mệt nên các cao thủ giúp em tạo lệnh chọn dim để đọc scale factor sau đó chỉ gõ chiều dài cần stretch (không nhân tỉ lệ của dim) để nó stretch cho mình. Cám ơn các đại ca!

  • 0

#3348 traitimsat034

traitimsat034

    biết vẽ pline

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

Đã gửi 20 April 2011 - 09:54 PM

Các pro làm ơn viết dùm em lisp quay đối tượng
đối tượng của em sẽ gồm một text hoặc mtext với tập hợp các đối tượng khác.
khi thực hiện lệnh chương trình sẽ yêu cầu chọn đối tượng ( nếu chọn nhiều hơn 1 text hoặc mtext chương trình sẽ báo lỗi và bắt chọn lại)
sau đó chương trình sẽ hỏi góc quay, góc quay là góc hợp bởi phương ngang với đường thẳng tạo bởi 2 điểm pick chuột.
tâm quay của đối tượng là điểm chèn của text hoặc mtext đã chọn.
Lệnh này của em giống lệnh Torient nhưng chỉ thao tác với một nhóm đối tượng một lần.
em cám ơn các bác.


Không Pro nào giúp em à. các bác cố gắng hộ em cái. em cám ơn nhiều nhiều!
  • 0

#3349 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 20 April 2011 - 10:43 PM

Không Pro nào giúp em à. các bác cố gắng hộ em cái. em cám ơn nhiều nhiều!

Cũng đâu cứ phải pro hả bạn ^^ Mình đù đờ cũng chọc ngoáy giúp bạn 1 cái nè.Hy vọng bạn dùng được
(defun c:rtt(/ ss sst)
(setq ss (ssadd))
(while (or
(= (setq sst (acet-list-to-ss (vl-remove-if '(lambda(x) (null (wcmatch (acet-dxf 0 (entget x)) "*TEXT"))) (acet-ss-to-list ss)))) nil)
(>(sslength sst) 1))
(Prompt "\nXin h\U+00E3y ch\U+1ECDn \U+0111\U+1ED1i t\U+01B0\U+1EE3ng :")
(setq ss (ssget))
)
(command ".rotate" ss "" (acet-dxf 10 (entget(ssname sst 0))) pause)
)

  • 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


#3350 traitimsat034

traitimsat034

    biết vẽ pline

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

Đã gửi 20 April 2011 - 11:37 PM

Cũng đâu cứ phải pro hả bạn ^^ Mình đù đờ cũng chọc ngoáy giúp bạn 1 cái nè.Hy vọng bạn dùng được

(defun c:rtt(/ ss sst)
(setq ss (ssadd))
(while (or
(= (setq sst (acet-list-to-ss (vl-remove-if '(lambda(x) (null (wcmatch (acet-dxf 0 (entget x)) "*TEXT"))) (acet-ss-to-list ss)))) nil)
(>(sslength sst) 1))
(Prompt "\nXin h\U+00E3y ch\U+1ECDn \U+0111\U+1ED1i t\U+01B0\U+1EE3ng :")
(setq ss (ssget))
)
(command ".rotate" ss "" (acet-dxf 10 (entget(ssname sst 0))) pause)
)


cám ơn bác nhiều, lisp quay của bác đúng ý em rồi nhưng còn phần chọn góc quay chua được tiện lắm, bác có thể điều chỉnh cách lấy góc quay bằng cách pick hai điểm ( giống lệnh torient)vì em hay phải chèn text và tập hợp đối tượng song song với một đoạn thẳng. em cám ơn bác nhiều, chúc bác mạnh khỏe!
  • 0

#3351 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 21 April 2011 - 12:18 AM

cám ơn bác nhiều, lisp quay của bác đúng ý em rồi nhưng còn phần chọn góc quay chua được tiện lắm, bác có thể điều chỉnh cách lấy góc quay bằng cách pick hai điểm ( giống lệnh torient)vì em hay phải chèn text và tập hợp đối tượng song song với một đoạn thẳng. em cám ơn bác nhiều, chúc bác mạnh khỏe!

Bạn sửa lại 1 tí như vầy :) Brgs
(defun c:rtt(/ ss sst)
(setq ss (ssadd))
(while (or
(= (setq sst (acet-list-to-ss (vl-remove-if '(lambda(x) (null (wcmatch (acet-dxf 0 (entget x)) "*TEXT"))) (acet-ss-to-list ss)))) nil)
(>(sslength sst) 1))
(Prompt "\nXin h\U+00E3y ch\U+1ECDn \U+0111\U+1ED1i t\U+01B0\U+1EE3ng :")
(setq ss (ssget))
)
(command ".rotate" ss "" (acet-dxf 10 (entget(ssname sst 0))) (* 180.0 (/ (getangle "\nG\U+00F3c quay :") pi)))
)

  • 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


#3352 exciter4914

exciter4914

    Chưa sử dụng CAD

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

Đã gửi 21 April 2011 - 12:36 AM

cách pro cho mình hỏi chút, mình muốn vẽ hình đơn giản dưới đây, nhưng còn thắc mắc chỗ dùng lệnh hatch để gạch mặt cắt , mãi nó ko gạch theo ý mình muốn
mình đã vẽ xong chi tiết, chỉ còn phần gạch mặt cắt là chưa đc như ý, mong các pro chỉ giáo với,
sau đây là đoạn code mình đã viết, và hình mình cần vẽ (mình chưa vẽ đc hình này bằng autolisp)


(defun C:thelinh()

(command "Layer" "Make" "Dam" "Ltype" "Continuous" "Dam" "")
(command "Layer" "Make" "Dam" "Color" "10" "Dam" "")
(command "Layer" "Make" "Dam" "Lweight" "0.50" "Dam" "")
(command "line" '(26.6667 0.0000) '(26.6667 25.1757) "")
(command "line" '(25.3333 0.0000) '(25.3333 17.0667) "")
(command "line" '(26.6667 18.5333) '(25.3415 17.1964) "")
(command "line" '(25.3333 17.0667) '(0.0771 17.0667) "")
(command "line" '(26.6667 20.0000) '(0.0000 20.0000) "")
(command "line" '(8.6210 26.6667) '(25.0565 26.6667) "")
(command "line" '(24.0000 26.6667) '(24.0000 96.0000) "")
(command "line" '(6.6210 86.0000) '(6.6210 28.6667) "")
(command "line" '(6.6210 48.3212) '(0.0000 48.3212) "")
(command "line" '(6.6210 65.3333) '(0.0000 65.3333) "")
(command "line" '(24.0000 88.0000) '(8.6210 88.0000) "")
(command "line" '(24.0000 96.0000) '(0 96.0000) "")
(command "line" '(0 101.2938) '(22.6667 101.2938) "")
(command "line" '(24 96) '(0 96) "")
(command "line" '(0 101.2938) '(22.6667 101.2938) "")
(command "line" '(22.6667 101.2938) '(24.0000 96.0000) "")
(command "line" '(22.6667 101.2938) '(24.0000 96.0000) "")

(command "arc" '(26.6667 25.1757) "e" '(25.0565 26.6667) "r" 2.44)
(command "arc" '(6.6210 28.6667) "e" '(8.6210 26.6667) "r" 2)
(command "arc" '(8.6210 88.0000) "e" '(6.6210 86.0000) "r" 2)

(command "mirror" (ssget "x") "" '(0.0000 101.2938) '(0 0) "N" "")
(command "mirror" (ssget "x") "" '(26.6667 0.0000) '(-26.6667 0.0000) "N" "")

(command "Layer" "Make" "Duongtruc" "Ltype" "ACAD_ISO10W100" "Duongtruc" "")
(command "Layer" "Make" "Duongtruc" "Color" "yellow" "Duongtruc" "")
(command "line" '(0.0000 108.4677) '(0.0000 -106.7723) "")
(command "line" '(-11.4760 56.8273) '(12.7819 56.8273) "")
(command "line" '(-35.0811 0.0000) '(37.3477 0.0000) "")
(command "line" '(-11.4760 -56.8273) '(12.7819 -56.8273) "")

(command "Layer" "Make" "manh" "Ltype" "Continuous" "manh" "")
(command "Layer" "Make" "manh" "Color" "white" "manh" "")
(command "Layer" "Make" "manh" "Lweight" "0.25" "manh" "")

;(setq hatch_name "ANSI31")
;(setq hatch_angle "1")
;(setq hatch_scale "5")
;(setq hh (ssget "W" '(-33 98) '(31 61)))
;(command "hatch" hatch_name hatch_angle hatch_scale hh "")
(command "hatch" "ANSI31" 1 1 (ssget "C" '(-33 98) '(31 61)) "")

)
hinh can ve
  • 0

#3353 traitimsat034

traitimsat034

    biết vẽ pline

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

Đã gửi 21 April 2011 - 12:36 AM

Bạn sửa lại 1 tí như vầy :) Brgs

(defun c:rtt(/ ss sst)
(setq ss (ssadd))
(while (or
(= (setq sst (acet-list-to-ss (vl-remove-if '(lambda(x) (null (wcmatch (acet-dxf 0 (entget x)) "*TEXT"))) (acet-ss-to-list ss)))) nil)
(>(sslength sst) 1))
(Prompt "\nXin h\U+00E3y ch\U+1ECDn \U+0111\U+1ED1i t\U+01B0\U+1EE3ng :")
(setq ss (ssget))
)
(command ".rotate" ss "" (acet-dxf 10 (entget(ssname sst 0))) (* 180.0 (/ (getangle "\nG\U+00F3c quay :") pi)))
)


lisp chạy rất tốt, cám ơn bạn nhiều!
  • 0

#3354 namhwru

namhwru

    biết pan

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

Đã gửi 21 April 2011 - 10:44 AM

em có vấn đề như thế này nhờ các bác giúp đỡ
em xây dựng bề mặt trong civil bằng đối tượng Text nhưng gặp 1 vấn đề rất chi là gay go!
đó là em muốn gắn giá tri "contents" của text vào giá trị position Z (giá trị này đang là 0"
nghĩa là thế này a: contents = 190.5
  • 0

#3355 namhwru

namhwru

    biết pan

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

Đã gửi 21 April 2011 - 10:50 AM

em có vấn đề như thế này nhờ các bác giúp đỡ
em xây dựng bề mặt trong civil bằng đối tượng Text nhưng gặp 1 vấn đề rất chi là gay go!
đó là em muốn gắn giá tri "contents" của text vào giá trị position Z (giá trị này đang là 0"
nghĩa là thế này a: contents = 190.5 position Z = 0 em muốn giá trị position Z = 190.5
hoặc là khi em thay đổi giá trị contents = 190.5 thành contents = 180.5 thì giá trị position Z cũng thay đổi là = 180.5
các cao thủ viết lisp có thể giải quyết bài toán này không? text của 1 bình đồ là rất lớn nên việc ngồi làm thủ công từng text là không tưởng! cảm ơn các bác!
  • 0

#3356 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 21 April 2011 - 11:11 AM

em có vấn đề như thế này nhờ các bác giúp đỡ
em xây dựng bề mặt trong civil bằng đối tượng Text nhưng gặp 1 vấn đề rất chi là gay go!
đó là em muốn gắn giá tri "contents" của text vào giá trị position Z (giá trị này đang là 0"
nghĩa là thế này a: contents = 190.5 position Z = 0 em muốn giá trị position Z = 190.5
hoặc là khi em thay đổi giá trị contents = 190.5 thành contents = 180.5 thì giá trị position Z cũng thay đổi là = 180.5
các cao thủ viết lisp có thể giải quyết bài toán này không? text của 1 bình đồ là rất lớn nên việc ngồi làm thủ công từng text là không tưởng! cảm ơn các bác!

Việc không có file mẫu mà viết được lisp giúp bạn cũng có thể gọi là điều không tưởng. Không biết civil với CAD khác nhau k nhỉ :rolleyes:
  • 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


#3357 VUVUZELA

VUVUZELA

    biết lệnh chamfer

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

Đã gửi 21 April 2011 - 11:44 AM

Việc không có file mẫu mà viết được lisp giúp bạn cũng có thể gọi là điều không tưởng. Không biết civil với CAD khác nhau k nhỉ :rolleyes:


Civil dùng trong thiết kế hạ tầng
Nó xài toàn ACAD_PROXY_ENTITY thôi
AutoLisp thì bó tay rồi
:rolleyes: :rolleyes:
  • 0

Hệ thống Liên Kết, Thiết Kế Tự Động

ttps://www.facebook...etThietKeTuDong


#3358 duchieu0205

duchieu0205

    biết vẽ line

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

Đã gửi 21 April 2011 - 02:45 PM

Em có vấn đề này nhờ các cao thủ giúp đỡ:
Khi vẽ bản vẽ không theo tỉ lệ 1:1 mà cần stretch thi phải nhân chia rất mệt nên các cao thủ giúp em tạo lệnh chọn dim để đọc scale factor sau đó chỉ gõ chiều dài cần stretch (không nhân tỉ lệ của dim) để nó stretch cho mình. Cám ơn các đại ca!


Các cao thủ oi giúp em với nhé!
  • 0

#3359 Detailing

Detailing

    biết lệnh imageclip

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

Đã gửi 21 April 2011 - 03:59 PM

Các cao thủ oi giúp em với nhé!

Scale le6n 1:1 -> Stretch hay làm gì tùy ý (move, copy,...) -> Scale xuống lại.
  • 0

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#3360 duchieu0205

duchieu0205

    biết vẽ line

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

Đã gửi 21 April 2011 - 04:12 PM

Scale le6n 1:1 -> Stretch hay làm gì tùy ý (move, copy,...) -> Scale xuống lại.



Nếu Scale xuống lại thi còn gì để nói chứ! Em định dùng lisp nhưng trình độ ABC nên muốn nhờ các cao thủ giúp thôi! vì số lượng hình đã scale lên nhiều rồi mà có hình lại scale 2 chiều khác nhau nữa chứ! Mong các anh chỉ giáo!!!
  • 0