Đế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

#1861 phamvanthiet108

phamvanthiet108

    biết vẽ polygon

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

Đã gửi 20 September 2010 - 03:58 PM

Co ai giúp em với.Có lisp nào xoá tất cả các block trong 1 bản vẽ ko.em ngồi xoá từng cái block một mệt quá
  • 0

#1862 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 20 September 2010 - 04:11 PM

Co ai giúp em với.Có lisp nào xoá tất cả các block trong 1 bản vẽ ko.em ngồi xoá từng cái block một mệt quá

Chào bạn Phamvanthiet108,
Xóa tất cả đi thì không khó nhưng bạn hãy xem lại cái yêu cầu này, xóa đi rồi thì việc phục hồi một vài block nào đó hoàn toàn không đơn giản đâu bạn ạ. Nhất là các block chứa thuộc tính.
Bạn chỉ muốn xóa các block có trên bản vẽ hiện hành hay là muốn xóa cả trong các bản vẽ khác nữa????
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#1863 18011985

18011985

    biết lệnh properties

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

Đã gửi 20 September 2010 - 04:31 PM

Co ai giúp em với.Có lisp nào xoá tất cả các block trong 1 bản vẽ ko.em ngồi xoá từng cái block một mệt quá

Bạn dùng lệnh filter
Bạn chọn Block sau đó ấn add to list
Sau đó bạn chọn apply
gõ all rồi enter và sau đó bạn ấn delete hoặc ấn erase.
Bạn chú ý bác phamthanhbinh nói rồi đó xoá rồi là khó lấy lại đấy nhé :( chúc bạn có lựa chọn chính xác.
  • 1
Trăng 16 trăng tròn
Em 16 bụng ... như trăng

Hướng dẫn sử dụng diễn đàn:
Để cảm ơn hay bài viết có ích: Ấn dấu + cuối bài.
Không vừa lòng hay bài spam: Ấn dấu - cuối bài.

#1864 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 20 September 2010 - 05:40 PM

1. Bạn chọn 1 điểm tâm -> Sử dụng hàm getpoint
2. Xác định điểm góc trái bên dưới (từ điểm tâm, từ chiều dài, chiều rộng cột)
3. Vẽ hình chữ nhật bằng Line hay Pline hoặc Rectang

Vấn đề của mình là tạo HCN,sau đó "cầm" nó để pick vào các điểm tâm một cách trực quan,gần gần giống như copy vậy. code mình mới viết được như ở dưới.Nhưng bị vướng ở chỗ mình đã tạo điểm tâm rõ ràng rồi,nhưng không hiểu sao nếu user nhập vào bằng bàn phím chiều dài cạnh,thì Tâm lại là trung điểm 1 cạnh :( Còn nếu user input chiều dài cạnh bằng cách pick điểm thì mới đúng ý mình.Thêm 1 ý nữa,lệnh copy chỉ thực hiện 1 lần,kể cả khi đã thêm dòng multiple trước khi thực hiện lệnh :(,không đúng ý mình..Mọi người xem code giùm mình với.Vạn sự khởi đầu nan :)( Cám ơn mọi người :D
(defun C:RECc (/ GOC1 dx dy temp-1 temp-2 GOC2 TAM)
(setq GOC1 (getpoint "\nDiem dat.: ")
dx (getdist "\nChieu dai canh theo truc x: ")
dy (getdist "\nChieu dai canh theo theo truc y: ")
GOC2 (list (+ (car GOC1) dx) (+ (cadr GOC1) dy) 0)
TAM (list (+ (car GOC1) (/ dx 2)) (+ (cadr GOC1) (/ dy 2)) 0)
)
(vl-cmdf "._RECTANGLE" "_non" GOC1 "D" dx dy "_non" GOC2
"_.copy" "L" "" TAM pause)
)

  • 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


#1865 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 20 September 2010 - 05:54 PM

À,nhưng đây là đối tượng độc lập duy nhất,nên dùng copy với tham số L còn có ý nghĩa,chứ nếu mình tạo hcn rồi,hatch rồi,dim rồi,abc rồi,thì ý tưởng của mình phá sản luôn,vì không biết làm sao chọn lại 1 loạt các đối tượng từ lúc chạy lệnh đến lúc tạo xong tập đối tượng :( Ai có ý tưởng gì giúp mình vớ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


#1866 nguyentuyen6

nguyentuyen6

    biết lệnh chamfer

  • Advance Member
  • PipPipPipPip
  • 213 Bài viết
Điểm đánh giá: 124 (tàm tạm)

Đã gửi 20 September 2010 - 05:54 PM

Co ai giúp em với.Có lisp nào xoá tất cả các block trong 1 bản vẽ ko.em ngồi xoá từng cái block một mệt quá


Mình chọc ngoáy linh tinh cũng đc cái líp này. Bạn dùng thử xem nhé:

;; free lisp from cadviet.com
(defun c:xbl ( / tbl)
(alert "\n Chon vung co block")
(setq tbl (ssget (list (cons 0 "INSERT"))))
(command "erase" tbl "")
)

  • 2

Lisp In bản vẽ hàng loạt:
http://www.cadviet.c...ndpost&p=139860


#1867 phamngoctukts

phamngoctukts

    biết lệnh adcenter

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

Đã gửi 20 September 2010 - 06:29 PM

Vấn đề của mình là tạo HCN,sau đó "cầm" nó để pick vào các điểm tâm một cách trực quan,gần gần giống như copy vậy. code mình mới viết được như ở dưới.Nhưng bị vướng ở chỗ mình đã tạo điểm tâm rõ ràng rồi,nhưng không hiểu sao nếu user nhập vào bằng bàn phím chiều dài cạnh,thì Tâm lại là trung điểm 1 cạnh :( Còn nếu user input chiều dài cạnh bằng cách pick điểm thì mới đúng ý mình.Thêm 1 ý nữa,lệnh copy chỉ thực hiện 1 lần,kể cả khi đã thêm dòng multiple trước khi thực hiện lệnh :(,không đúng ý mình..Mọi người xem code giùm mình với.Vạn sự khởi đầu nan :)( Cám ơn mọi người :D

Mình chỉnh sửa lại cho đúng ý bạn rồi nhé

;; free lisp from cadviet.com
(defun C:RECc (/ GOC1 dx dy temp-1 temp-2 GOC2 TAM)
(setq dx     (getdist "\nChieu dai canh theo truc x: ")
    dy     (getdist "\nChieu dai canh theo theo truc y: ")
GOC1 (getpoint "\nDiem dat.: ")
    GOC2     (list (+ (car GOC1) dx) (+ (cadr GOC1) dy) 0)
    TAM     (list (+ (car GOC1) (/ dx 2)) (+ (cadr GOC1) (/ dy 2)) 0)
    )
  (vl-cmdf "._RECTANGLE" "_non" GOC1 "D" dx dy "_non" GOC2
       "_.copy" "L" "" "m" TAM pause)
   )

  • 0
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#1868 phamngoctukts

phamngoctukts

    biết lệnh adcenter

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

Đã gửi 20 September 2010 - 06:32 PM

À,nhưng đây là đối tượng độc lập duy nhất,nên dùng copy với tham số L còn có ý nghĩa,chứ nếu mình tạo hcn rồi,hatch rồi,dim rồi,abc rồi,thì ý tưởng của mình phá sản luôn,vì không biết làm sao chọn lại 1 loạt các đối tượng từ lúc chạy lệnh đến lúc tạo xong tập đối tượng :( Ai có ý tưởng gì giúp mình với :(

Sau khi bạn tạo hình chữ nhật xong tạo cho nó một biến để sau này dung lại.
Khi tạo xong dùng hàm entlast. Ví dụ (setq el (entlast)). Biến el chính là hình chữ nhật bạn vừa tạo.
khi bạn muốn hatch nó chỉ việc: (vl-cmdf "hatch" "tenvatlieu" "tile" el "") là hình chữ nhật của bạn se đưọc hatch. Chúc bạn mau chóng thành công.
  • 0
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#1869 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 20 September 2010 - 07:25 PM

Vấn đề của mình là tạo HCN,sau đó "cầm" nó để pick vào các điểm tâm một cách trực quan,gần gần giống như copy vậy. code mình mới viết được như ở dưới.Nhưng bị vướng ở chỗ mình đã tạo điểm tâm rõ ràng rồi,nhưng không hiểu sao nếu user nhập vào bằng bàn phím chiều dài cạnh,thì Tâm lại là trung điểm 1 cạnh :( Còn nếu user input chiều dài cạnh bằng cách pick điểm thì mới đúng ý mình.Thêm 1 ý nữa,lệnh copy chỉ thực hiện 1 lần,kể cả khi đã thêm dòng multiple trước khi thực hiện lệnh :(,không đúng ý mình..Mọi người xem code giùm mình với.Vạn sự khởi đầu nan :D( Cám ơn mọi người :D

(defun C:RECc (/ GOC1 dx dy temp-1 temp-2 GOC2 TAM)
(setq GOC1 (getpoint "\nDiem dat.: ")
dx (getdist "\nChieu dai canh theo truc x: ")
dy (getdist "\nChieu dai canh theo theo truc y: ")
GOC2 (list (+ (car GOC1) dx) (+ (cadr GOC1) dy) 0)
TAM (list (+ (car GOC1) (/ dx 2)) (+ (cadr GOC1) (/ dy 2)) 0)
)
(vl-cmdf "._RECTANGLE" "_non" GOC1 "D" dx dy "_non" GOC2
"_.copy" "L" "" TAM pause)
)


Chào bạn ketxu,
Rất vui vì bạn đã bắt tay vào thực thi cái ước muốn của mình.
Về cái lisp bạn đã viết khá tốt đấy chứ. Nó chạy hoàn toàn đúng kể cả khi bạn nhập khoảng cách dx dy từ bàn phím bạn ạ. Việc bạn chạy lỗi có nhẽ là do thao tác nhập liệu của bạn mà thôi. Có thể là do bạn chỉ nhập một biến dx hoặc một biến dy bạn ạ, Phải nhớ nhập đủ cả hai biến dx và dy.
Còn việc copy chỉ được một lần là do bạn chưa sử dụng đúng cái tham số multiple của lệnh copy mà thôi. Bạn chỉ cần bổ sung vào đoạn lisp:
(vl-cmdf "._RECTANGLE" "_non" GOC1 "D" dx dy "_non" GOC2 "_.copy" "L" "" TAM pause) để nó trở thành:
(vl-cmdf "._RECTANGLE" "_non" GOC1 "D" dx dy "_non" GOC2 "_.copy" "L" "" "m" TAM pause) là Ok.

À,nhưng đây là đối tượng độc lập duy nhất,nên dùng copy với tham số L còn có ý nghĩa,chứ nếu mình tạo hcn rồi,hatch rồi,dim rồi,abc rồi,thì ý tưởng của mình phá sản luôn,vì không biết làm sao chọn lại 1 loạt các đối tượng từ lúc chạy lệnh đến lúc tạo xong tập đối tượng :D Ai có ý tưởng gì giúp mình với :)


Để chọn nhiều đối tượng vào trong tập hợp để copy, bạn chỉ cần đặt tên biến cho các đối tượng này rồi sau đó khi dùng lệnh copy bạn gọi lại chúng là Ok.
Ví dụ: (setq hat (command "hatch" .......))
(setq dim1 (command "dimesion" ......))
..........
Sau đó khi copy thi
(command "copy" hat dim1 .... "" "m" tam pause)....
Bạn hãy thử xem nhé.
Chúc bạn thành công....

PS: Bạn chú ý trong cái hàm copy của bạn có sử dụng cái biến tam để làm điểm mốc cho sự copy. Đó chính là cái lý do mình nói với bạn trong bài post trước là không cần thiết phải vẽ cái tâm của hình chữ nhật làm chi, chỉ cần khi copy bạn lấy điểm mốc copy là điểm tâm của hình chữ nhật là Ok bạn ạ
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#1870 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 20 September 2010 - 08:29 PM

Sau khi bạn tạo hình chữ nhật xong tạo cho nó một biến để sau này dung lại.
Khi tạo xong dùng hàm entlast. Ví dụ (setq el (entlast)). Biến el chính là hình chữ nhật bạn vừa tạo.
khi bạn muốn hatch nó chỉ việc: (vl-cmdf "hatch" "tenvatlieu" "tile" el "") là hình chữ nhật của bạn se đưọc hatch. Chúc bạn mau chóng thành công.



Chào bạn ketxu,
Rất vui vì bạn đã bắt tay vào thực thi cái ước muốn của mình.
Về cái lisp bạn đã viết khá tốt đấy chứ. Nó chạy hoàn toàn đúng kể cả khi bạn nhập khoảng cách dx dy từ bàn phím bạn ạ. Việc bạn chạy lỗi có nhẽ là do thao tác nhập liệu của bạn mà thôi. Có thể là do bạn chỉ nhập một biến dx hoặc một biến dy bạn ạ, Phải nhớ nhập đủ cả hai biến dx và dy.
Còn việc copy chỉ được một lần là do bạn chưa sử dụng đúng cái tham số multiple của lệnh copy mà thôi. Bạn chỉ cần bổ sung vào đoạn lisp:
(vl-cmdf "._RECTANGLE" "_non" GOC1 "D" dx dy "_non" GOC2 "_.copy" "L" "" TAM pause) để nó trở thành:
(vl-cmdf "._RECTANGLE" "_non" GOC1 "D" dx dy "_non" GOC2 "_.copy" "L" "" "m" TAM pause) là Ok.
Để chọn nhiều đối tượng vào trong tập hợp để copy, bạn chỉ cần đặt tên biến cho các đối tượng này rồi sau đó khi dùng lệnh copy bạn gọi lại chúng là Ok.
Ví dụ: (setq hat (command "hatch" .......))
(setq dim1 (command "dimesion" ......))
..........
Sau đó khi copy thi
(command "copy" hat dim1 .... "" "m" tam pause)....
Bạn hãy thử xem nhé.
Chúc bạn thành công....

PS: Bạn chú ý trong cái hàm copy của bạn có sử dụng cái biến tam để làm điểm mốc cho sự copy. Đó chính là cái lý do mình nói với bạn trong bài post trước là không cần thiết phải vẽ cái tâm của hình chữ nhật làm chi, chỉ cần khi copy bạn lấy điểm mốc copy là điểm tâm của hình chữ nhật là Ok bạn ạ


Cảm ơn 2 bạn rất nhiều,mình đã vỡ ra nhiều rồi^^.Mình sẽ tiếp tục dự định ban đầu :(
Cho mình hỏi là nếu hỏi đi hỏi lại thế này thì có làm loãng topic không?Vì ở đây còn rất nhiều request chưa được đáp ứng.Mình định lập 2pic cho những người mới bắt đầu về LSP hỏi những câu ngô nghê như vừa rồi,có lẽ tiện hơ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


#1871 shockyboy87

shockyboy87

    Chưa sử dụng CAD

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

Đã gửi 20 September 2010 - 08:35 PM

Chào bạn shockyboy87,
Bạn là thành viên mới, rất mong bạn tôn trọng nội quy diễn đàn, lần sau nếu bạn tiếp tục post cùng một vấn đề trên nhiều topic khác nhau, bạn sẽ bị xóa bài post đó.
Chúc bạn vui khi tham gia diễn đàn.


Sorry diễn đàn, vì mình post xong mới thấy topic này nên post lại. Dù sao vấn đề của mình cũng đã được bạn phamngoctukts giải đáp. Cám ơn các bạn nhiều.
  • 0

#1872 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 20 September 2010 - 09:53 PM

Cảm ơn 2 bạn rất nhiều,mình đã vỡ ra nhiều rồi^^.Mình sẽ tiếp tục dự định ban đầu :(
Cho mình hỏi là nếu hỏi đi hỏi lại thế này thì có làm loãng topic không?Vì ở đây còn rất nhiều request chưa được đáp ứng.Mình định lập 2pic cho những người mới bắt đầu về LSP hỏi những câu ngô nghê như vừa rồi,có lẽ tiện hơn ^^

Chào bạn ketxu,
Bạn hoàn toàn có quyền thiết lập một topic riêng theo vấn đề bạn cần quan tâm bạn ạ. Rất vui khi bạn có những ý kiến cùng trao đổi trên diễn đàn.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#1873 bachngoctung

bachngoctung

    biết lệnh copy

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

Đã gửi 20 September 2010 - 10:09 PM

-Nhờ mọi người ngâm cứu lisp này giúp mình với , do khi chạy nova ( phần mềm thiết đường ) cao độ mia ở mặt cắt ngang chạy ra nó nhiều quá dẫn đến không nhìn được , mời mọi người xem hình ảnh ( mình cũng up luôn cả bản cad lên để mọi người tiện ngâm cứu).
-Hình ảnh đây Hình đã gửi
-Vấn đề của mình đặt ra là làm sao biến hình A thành hình B một cách nhanh nhất(xóa bớt cọc mia thừa và ghi lại khoảng cách mia).
-Mình xin đưa đa cấu trúc lisp như sau:
+ Tên lệnh HCM (hiệu chỉnh mia)
+ Chọn điểm đầu (ta chọnđiểm 1 trong hình A)
+ Chọn điểm cuối (ta chọnđiểm 2 trong hình A)
+ Chọn text ghi khoảng cách ( ta chọn vào text 1.10 (màu đỏ ở hình A)> nó cho kết quả là 1.99 (màu đỏ ở hình :(
+ Sau khi điền kết quả xong nó tự xóa luôn các cọc và các text(cọc màu ghi , text ở giữa 2 đi màu vàng ) ở giữa 2 điểm 1 và 2 mà ta chọn ban đầu
-Mong anh em xem giúp , có gì mình viết trên đây mà mọi người chưa rõ ý của mình thì mình sẽ nói rõ thêm . Chân thành cám ơn
-Đây là bản cad http://www.cadviet.c...3/cadviet_1.dwg
  • 0

#1874 bachngoctung

bachngoctung

    biết lệnh copy

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

Đã gửi 20 September 2010 - 10:25 PM

-Gửi bạn TUE _NV xem lại cho mình lisp này với nhé ( lần trước mình có nhờ bạn viết giùm link bài viết đó đây http://www.cadviet.c...&...st&p=93439)
- Bạn TUE _NV có thể chỉnh lại cho để thay chữ A bằng anpha và cho ra giá trị góc là độ/phut/giâyđuợc không>>> Cám ơn nhé
- Mình up luôn lisp cần bạn sửa đây: http://www.cadviet.c...iles/3/tsdc.lsp
  • 0

#1875 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 September 2010 - 04:40 AM

-Gửi bạn TUE _NV xem lại cho mình lisp này với nhé ( lần trước mình có nhờ bạn viết giùm link bài viết đó đây http://www.cadviet.c...&...st&p=93439)
- Bạn TUE _NV có thể chỉnh lại cho để thay chữ A bằng anpha và cho ra giá trị góc là độ/phut/giâyđuợc không>>> Cám ơn nhé
- Mình up luôn lisp cần bạn sửa đây: http://www.cadviet.c...iles/3/tsdc.lsp

Bachngoctung thử cái này nhé :


(defun vtt(/ oldos)
  (setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(princ "\n Chon 1 cung Arc :")
(if (null (setq ss (ssget ":S" '((0 . "ARC"))) ))
(alert "\n Khong co cung Arc nao duoc chon ")
(progn
(setq ent (ssname ss 0))
    (setq tam (cdr(assoc 10 (entget ent))))
(setq D (cdr(assoc 40 (entget ent))));bankinh
    (setq dd (vlax-curve-getstartpoint ent))
    (setq dc (vlax-curve-getendpoint ent))
    (setq p1 (polar dd (+ (/ pi 2) (angle dd tam)) 1))
    (setq p2 (polar dc (+ (/ pi 2) (angle dc tam)) 1))
    (if (setq a (inters dd p1 dc p2 nil))
      (progn
        (vl-cmdf "line" dd a "")
        (vl-cmdf "line" dc a "")
(setq c (/ (* 180 (abs (- (angle dd a) (angle dc a)))) pi))
      )
    )
))
  (setvar "osmode" oldos)
(princ)
)
;;;;;;;;
(defun C:TS (/ ro CC CAT MD CD C D N L do ph O M I H J AA RR KK TT PP ss)
(SETVAR "CMDECHO" 0)
(command "-Style" "TS DUONG CONG" "arial" "0" "1" "0" "n" "")
(command "-Layer" "n" "TS DUONG CONG" "c" "222" "TS DUONG CONG" "lw" "0.2" "TS DUONG CONG" "")
(command "-Layer" "s" "TS DUONG CONG" "" "")
(setq CC (getpoint "\nCHON TAM CUA DUONG TRON / Enter ket thuc "))
(setq CAT (getreal "\nDUONG KINH DUONG TRON: "))
(while CC
(command ".circle" CC "d" CAT) (vtt)
(if ss (progn
(setq L (strcat "{\\fSymbol|b0|i0|c2|p18;a}" "="
(itoa (setq do (fix c)) ) "%%d"
(itoa (setq ph (fix (* 60 (- c do))))) "'"
(itoa (fix (* 60 (- (* 60 (- c do)) ph)))) "''"
)
)
(setq N (rtos D 2 2))
(setq H (COS (/ (/ (* C PI) 180) 2))) ;CONG THUC TINH GIA TRI COS(A/2)
(setq O (/ (SIN (/ (/ (* C PI) 180) 2)) (COS (/ (/ (* C PI) 180) 2)))) ;CONG THUC TINH GIA TRI TAN(A/2)
(setq M (rtos (* O D) 2 2)) ;CONG THUC TINH GIA TRI T
(setq I (rtos (* D (- (/ 1 H) 1)) 2 2)) ;CONG THUC TINH GIA TRI P
(setq J (rtos (/ (* D C PI) 180) 2 2)) ;CONG THUC TINH GIA TRI K
(setq AA L) ;GIA TRI A
(setq RR (strcat "R=" N)) ;GIA TRI R
(setq KK (strcat "K=" J)) ;GIA TRI K
(setq TT (strcat "T=" M)) ;GIA TRI T
(setq PP (strcat "P=" I)) ;GIA TRI P
(setq MD (/ CAT 10))
(setq CD (list (car CC) (+ (cadr CC) (/ CAT 3.1))))
(command ".text" "m" CD MD 0.0 AA) (setq e (entlast)) ;TEXT GIA TRI A
(command ".text" "" RR) ;TEXT GIA TRI R
(command ".text" "" KK) ;TEXT GIA TRI K
(command ".text" "" TT) ;TEXT GIA TRI T
(command ".text" "" PP) ;TEXT GIA TRI P
(command "txt2mtxt" e "")
(setq CC (getpoint "\nCHON TAM CUA DUONG TRON: "))
))
) ;dong WHILE
(SETVAR "CMDECHO" 1)
(PRINC)
) ;KET THUC DEFUN

  • 2

#1876 phamvanthiet108

phamvanthiet108

    biết vẽ polygon

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

Đã gửi 21 September 2010 - 08:43 AM

Bạn dùng lệnh filter
Bạn chọn Block sau đó ấn add to list
Sau đó bạn chọn apply
gõ all rồi enter và sau đó bạn ấn delete hoặc ấn erase.
Bạn chú ý bác phamthanhbinh nói rồi đó xoá rồi là khó lấy lại đấy nhé :( chúc bạn có lựa chọn chính xác.

Em cám ơn các bác nhiều.em muốn xoá tất cả các block trong bản vẽ hiện hành và lệnh fi của em trong bản vẽ này ko thực hiện được.
  • 0

#1877 phamvanthiet108

phamvanthiet108

    biết vẽ polygon

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

Đã gửi 21 September 2010 - 08:51 AM

Mình chọc ngoáy linh tinh cũng đc cái líp này. Bạn dùng thử xem nhé:


;; free lisp from cadviet.com
(defun c:xbl ( / tbl)
(alert "\n Chon vung co block")
(setq tbl (ssget (list (cons 0 "INSERT"))))
(command "erase" tbl "")
)

em cám ơn bác nhiều ! em sẽ dùng thử xem thế nào.hi vọng là nó giúp đc cho em
  • 0

#1878 phamvanthiet108

phamvanthiet108

    biết vẽ polygon

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

Đã gửi 21 September 2010 - 09:07 AM

các bác có bít tại sao lệnh fi bị lỗi ko.có cách nào khắc phụ nó ko.mong các bác giúp đỡ em.day la file do
http://www.cadviet.c...thp21092010.dwg
  • 0

#1879 vtd_xd

vtd_xd

    biết vẽ circle

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

Đã gửi 21 September 2010 - 09:12 AM

Nhờ các bạn viết giúp tôi lisp với nội dung:
- link giá trị text (TextOverride) của dim, khi thay đổi giá trị text của dim đích thì text dim nguồn cũng thay đổi (giống như lisp LinkT)
Xin cảm ơn

Hình đã gửi

http://www.cadviet.com/upfiles/3/2.dwg
  • 0
Chuc vui ve

#1880 hoasitre

hoasitre

    Chưa sử dụng CAD

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

Đã gửi 21 September 2010 - 09:34 AM

Em là người rất mê vẽ Cad và luôn muốn làm bản vẽ thật phong phú và đẹp mắt.e xem các bản vẽ dưới dạng file ảnh của mọi người thật đẹp nhưng cũng không biết làm sao để làm đựơc như thế.Cách xuất bản vẽ sang file ảnh thì e biết nhưng cách tô màu cho các chi tiết thì e không rõ lắm.e up lên một bản như thế các bác xem hộ.mong được sự giúp đỡ của các bác! http://www.cadviet.c...3/ho_boi1nt.jpg
  • 0