Chuyển đến nội dung
Diễn đàn CADViet
Nguyen Hoanh

Viết Lisp theo yêu cầu

Các bài được khuyến nghị

Mình cũng đã đọc yêu cầu của bạn, nhưng ngại trả lời vì những lẽ sau:

- layon, layoff thì ACAD2004 cũng có, không cần viết lại làm gì.

- Dùng lệnh Trim với nhiều đối tượng thì ở ACAD2004 bạn sử dụng tham số f là được. Còn nếu viết lisp cũng chỉ đến như vậy thôi, Lisp không thể can thiệp sâu về cái này được.

 

Người viết lisp chỉ hứng thú khi viết những lisp mà ACAD thông thường không làm được hoặc làm được nhưng không hiệu quả. Yêu cầu của bạn không rơi vào 2 trường hợp trên nên dễ đi vào quên lãng.

 

bác bảo cad 2004 cũng có layon, layoff nhưng em xài nhiều máy rồi mà chả thấy cad2004 có lệnh này.nhưng em vừa mới copy trên diễn đàn đc lisp này rồi. dù sao cũng cám ơn bác nhiều.em còn gà lắm còn phải nhờ vả bác nhiều.mong bác chỉ bảo cho.thanks so much.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

SAO KHONG AI QUAN TAM VAY TA. POST LAN 3 RUI DO. THAT SU EM DANG CAN GAP LAM DO.

 

Em nhờ BÁC NGUYỄN HOÀNH VIẾT DÙM EM TÍ NHE. THANK BÁC TRƯỚC. ĐÃ POST 1 LẦN MÀ KO AI QUAN TÂM CẢ.

Minh đang cần gấp file lisp nay lam.

Chuong trinh ve mat cat nhu sau:

Nhap vao file cao toa do diem hoac pick vao cac điểm trên màn hình.

Chọn tỷ lệ ngang và tỷ lệ đứng.

Chọn cao độ mặt so sánh (MSS).

 

Đây là file mẫu:

http://www.cadviet.com/upfiles/MAT_CAT_DOC_MAU_1.dwg

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Chào anh Hoành ! Nhờ anh fix cái lisp sắp xếp dim theo khoảng cách giùm em và mị người với. Khi em gõ lệnh sd thì nó hiểu, nhưng khi chọn 1 dim làm gốc , enter , thì nó báo " unknow ... sd .. press F1 for help" và " Too many argument". Cái lisp này rất hay, anh fix giùm nhé. Thanks anh nhiều.

 

Nó đây : Sap dim

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Xin chào Nguyễn Hoành. Tôi đang vướng 1 vấn đề sau mong bạn giúp đỡ.

Tôi hiện nay cần chuyển 1 số bản vẽ từ CAD sang Word, trong bản vẽ thường dùng phông unicode vì có các ký tự tiếng Nga, symbol....

Tôi đã dùng chương trình Better_WMF lại phải chuyển phông sang TCVN để hiển thị được tiếng Việt trong Word, thế nhưng còn các ký tự tiếng Nga và symbol thì chịu vì không hiển thị được. Mong Nguyễn Hoành có cao kiến hoặc viết LISP làm sao để dùng phông Unicode chuyển sang Word không bị lỗi giúp cho tôi và mọi người được không. Cám ơn nhiều.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Xin chào Nguyễn Hoành. Tôi đang vướng 1 vấn đề sau mong bạn giúp đỡ.

Tôi hiện nay cần chuyển 1 số bản vẽ từ CAD sang Word, trong bản vẽ thường dùng phông unicode vì có các ký tự tiếng Nga, symbol....

Tôi đã dùng chương trình Better_WMF lại phải chuyển phông sang TCVN để hiển thị được tiếng Việt trong Word, thế nhưng còn các ký tự tiếng Nga và symbol thì chịu vì không hiển thị được. Mong Nguyễn Hoành có cao kiến hoặc viết LISP làm sao để dùng phông Unicode chuyển sang Word không bị lỗi giúp cho tôi và mọi người được không. Cám ơn nhiều.

Mình ít khi dùng BetterWMF nên không có kinh nghiệm về món này. Chuyện convert sang Word thì lisp gần như không thể can thiệp được. Nếu chỉ là vấn đề lỗi font unicode thì bạn có thể xem mẹo của bạn TueNV ở đây: lỗi phông khi dùng better WMF

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Cảm ơn bạn nhiều!

Nhưng mình đọc đoạn code của bạn mình thấy hình như là mới chỉ tìm tên block chứ chưa phải là đếm số lượng block

Mình muốn đếm số lượng block cơ, giúp mình với!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Đây bạn. Tên là: bten

 

(Defun c:bten ( )

(prompt "\nChon BLOCK mau.")

(setq DT (car (entsel)))

(setq DT (entget DT))

(setq STNAME (cdr (assoc 2 DT)))

 

(Princ "\nHay chon vung :")

(setq SS (ssget (list (cons 0 "insert")

(cons 2 STNAME)

)

)

)

(if (Null ss)

(princ "\nKhong tim thay doi tuong nao")

)

(IF (/= NIL SS) (PROGN

(setq Sl (SSLength SS))

(princ (strcat "\nTim thay: <" (itoa sl) "> doi tuong la BLOCK co ten: <" STNAME ">"))

)

)

(princ)

)

 

Cảm ơn bạn!

đúng như mong muốn của mình, sẽ không phải khổ sở vì đếm thiết bị trên mặt bằng nữa, mà lại chính xác nữa!

Nhân tiện nhờ thêm bạn : Xoá đi tất cả các Block có cùng tên, cùng toạ độ chỉ giữ lại duy nhất 1 block (vì có thể lúc vẽ mình lại copy 2 hoặc nhiều thằng block nằm chồng lên nhau như vậy nếu đếm bằng lisp trên sẽ bị thừa số lượng)

Bạn giải quyết thêm giúp mình là : sau khi đếm số lượng block xong thi tất cả các block đó được chọn! (để mình có thể thực hiện các lệnh khác những chú block đó)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Cảm ơn bạn!

đúng như mong muốn của mình, sẽ không phải khổ sở vì đếm thiết bị trên mặt bằng nữa, mà lại chính xác nữa!

Nhân tiện nhờ thêm bạn : Xoá đi tất cả các Block có cùng tên, cùng toạ độ chỉ giữ lại duy nhất 1 block (vì có thể lúc vẽ mình lại copy 2 hoặc nhiều thằng block nằm chồng lên nhau như vậy nếu đếm bằng lisp trên sẽ bị thừa số lượng)

Bạn giải quyết thêm giúp mình là : sau khi đếm số lượng block xong thi tất cả các block đó được chọn! (để mình có thể thực hiện các lệnh khác những chú block đó)

 

1-Xoá đi tất cả các Block có cùng tên, cùng toạ độ chỉ giữ lại duy nhất 1 block = Chịu!

2-sau khi đếm số lượng block xong thi tất cả các block đó được chọn! = Bạn dùng bất cứ lệnh gì sau khi thực hiện lệnh trên. Tại phần chọn đối tượng gỏ P enter là nó nhận lại tất cả các block trên.

Chúc thành công!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
1-Xoá đi tất cả các Block có cùng tên, cùng toạ độ chỉ giữ lại duy nhất 1 block = Chịu!

 

Thuật tóan xóa đối tượng có cùng tên, cùng tọa độ

 

1. Lập danh sách Block có tên bname: lstBlk, danh sách tọa độ tương ứng lstXY, danh sách handle tương ứng lstHandle

2. Duyệt bắt đầu từ phần tử đầu tiên

i=0;
while (i < lstBlk.len){
TD0 = nth(listXY, i);	
j=i+1;
TD1 = nth(lstXY,j);
while (j < lstBlk.len) AND (TD1==TD0){
	id = nth(lstHandle, j)
	Xóa đối tượng có handle = id		
	j++;
	TD1 = nth(lstXY,j);
}
i=j;
}

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Xin các bác cho hỏi là có cái lisp nào có tính chất sau đây không:

+)Tính diện tích hình chữ nhật theo kiểu là chọn 2 đỉnh đối diện như là vẽ hình chữ nhật

+)Đánh dấu các hình chữ nhật đã tính diện tích

+)Tính tổng diện tích các hình đã tính đưọc!

Bác nào có thì cho em xin với!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Cho em hỏi có lisp nào như thế này không:

cộng thêm một số vào giá trị một số có sẳn

VD: gõ lệnh

Giá trị cộng thêm vào:

Chọn các số muốn thay đổi

Kết quả: các số được chọn sẽ được cộng thêm vào

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Cho em hỏi có lisp nào như thế này không:

cộng thêm một số vào giá trị một số có sẳn

VD: gõ lệnh

Giá trị cộng thêm vào:

Chọn các số muốn thay đổi

Kết quả: các số được chọn sẽ được cộng thêm vào

Trên Forum này có rồi đấy, chịu khó Search nhé.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tớ có 2 bài toán nhờ các bác cao thủ, sư phụ trên diễn đàn giúp đỡ.

 

http://www.cadviet.com/upfiles/tham_khao.dwg

 

Bài 1 :

* Tớ muốn vẽ các đoạn thẳng từ C1 đến C2, sau đó từ C3 đến C4.

- Đầu tiên tớ vẽ các đọan thẳng từ C1 đến C2 :

Vẽ đọan L1 và ghi text L1 ngay tâm đoạn L1, khi vẽ đoạn L2 khác phương L1 thì tự động fillet 1 góc R và ghi text L2 ngay tâm đoạn L2. Tương tự, khi vẽ đoạn L3 khác phương L2 thì tự động fillet 1 góc R và ghi text L3 ngay tâm đoạn L3.

- Sau đó tớ vẽ các đọan thẳng từ C3 đến C4 :

Vẽ đoạn L4 và ghi text L4 ngay tâm đoạn L4, vẽ đoạn L5 khác phương L4 thì tự động fillet 1 góc R và ghi text L5 ngay tâm đoạn L5.

Trước khi vẽ lisp sẽ yêu cầu nhập thông số như sau ( nếu nhập theo bảng thì quá pro )

Bán kính muốn fillet ( R ) :

Khoảng cách muốn cắt ( K ) :

Về Polyline : Layer, màu, linetype, linetype Scale, lineweight, thickness...

Về Text : Layer, màu, linetype, linetype Scale, lineweight, thickness, style name, height text, width factor...

Khi 2 đoạn thẳng cắt nhau thì tự động cắt 1 đoạn K. Tâm đoạn thẳng K nằm trên đoạn thẳng còn lại. Ví dụ ở đây là đoạn L3 cắt L4.

 

Bài 2 :

* Ở bài 2 giống bài 1 chỉ khác là khi muốn vẽ các đọan thẳng từ C1 đến C2 ta chỉ cần nhập R và số đoạn thẳng muốn vẽ thì lisp tự động vẽ. Ví dụ khi vẽ các đọan thẳng từ C1 đến C2, ta nhập R=150 và số đoạn thẳng =3, khoảng cách cắt K=200, chọn đối tượng là C1 và C2.

* Tương tự khi vẽ các đọan thẳng từ C3 đến C4, ta nhập R=150 và số đoạn thẳng =2, khoảng cách cắt K=200, chọn đối tượng là C3 và C4.

 

2 bài này tớ nghĩ hơi khó và tốn nhiều thời gian nên các bác giúp được tới đâu cũng được.

Bởi vì diễn đàn có ghi Viết lisp theo yêu cầu nhưng không biết có tốn phí không và làm sao để thanh toán. Nếu free thì có dịp gặp mặt xin mời mấy bác chầu cafe nhé. :cheers:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tôi muốn viết một đoạn mã lisp vẽ đường thẳng qua hai điểm sau đó tự động ghi kích thước của đoạn thẳng đó luôn. Mong các bác giúp đỡ.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Tôi muốn viết một đoạn mã lisp vẽ đường thẳng qua hai điểm sau đó tự động ghi kích thước của đoạn thẳng đó luôn. Mong các bác giúp đỡ.

Mình đã viết cho bạn ở đây rồi nè :Giúp người mới học Autolisp

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Tớ có 2 bài toán nhờ các bác cao thủ, sư phụ trên diễn đàn giúp đỡ.

 

http://www.cadviet.com/upfiles/tham_khao.dwg

 

Bài 1 :

* Tớ muốn vẽ các đoạn thẳng từ C1 đến C2, sau đó từ C3 đến C4.

- Đầu tiên tớ vẽ các đọan thẳng từ C1 đến C2 :

Vẽ đọan L1 và ghi text L1 ngay tâm đoạn L1, khi vẽ đoạn L2 khác phương L1 thì tự động fillet 1 góc R và ghi text L2 ngay tâm đoạn L2. Tương tự, khi vẽ đoạn L3 khác phương L2 thì tự động fillet 1 góc R và ghi text L3 ngay tâm đoạn L3.

- Sau đó tớ vẽ các đọan thẳng từ C3 đến C4 :

Vẽ đoạn L4 và ghi text L4 ngay tâm đoạn L4, vẽ đoạn L5 khác phương L4 thì tự động fillet 1 góc R và ghi text L5 ngay tâm đoạn L5.

Trước khi vẽ lisp sẽ yêu cầu nhập thông số như sau ( nếu nhập theo bảng thì quá pro )

Bán kính muốn fillet ( R ) :

Khoảng cách muốn cắt ( K ) :

Về Polyline : Layer, màu, linetype, linetype Scale, lineweight, thickness...

Về Text : Layer, màu, linetype, linetype Scale, lineweight, thickness, style name, height text, width factor...

Khi 2 đoạn thẳng cắt nhau thì tự động cắt 1 đoạn K. Tâm đoạn thẳng K nằm trên đoạn thẳng còn lại. Ví dụ ở đây là đoạn L3 cắt L4.

 

Bài 2 :

* Ở bài 2 giống bài 1 chỉ khác là khi muốn vẽ các đọan thẳng từ C1 đến C2 ta chỉ cần nhập R và số đoạn thẳng muốn vẽ thì lisp tự động vẽ. Ví dụ khi vẽ các đọan thẳng từ C1 đến C2, ta nhập R=150 và số đoạn thẳng =3, khoảng cách cắt K=200, chọn đối tượng là C1 và C2.

* Tương tự khi vẽ các đọan thẳng từ C3 đến C4, ta nhập R=150 và số đoạn thẳng =2, khoảng cách cắt K=200, chọn đối tượng là C3 và C4.

 

2 bài này tớ nghĩ hơi khó và tốn nhiều thời gian nên các bác giúp được tới đâu cũng được.

Bởi vì diễn đàn có ghi Viết lisp theo yêu cầu nhưng không biết có tốn phí không và làm sao để thanh toán. Nếu free thì có dịp gặp mặt xin mời mấy bác chầu cafe nhé. :cheers:

Chào bạn saudoihamchoi08,

Cái khó đối với đề bài bạn ra là mình không hiểu ý bạn muốn thế nào mặc dầu đã cố đọc nhiều lần. Có lẽ bạn nên post cái hình mà bạn muốn làm lên và ghi chú rõ các điều bạn muốn làm.

Cái khó nhất chính là phải hiểu được bạn muốn gì thì mới có thể tìm cách mà làm chứ đọc bài của bạn mình thấy nó lủng củng quá và không rõ ý gì cả.

Ví dụ: Thế nào là các đoạn thẳng từ C1 đến C2? Như vậy qua hai điểm C1 và C2 bạn có mấy đoạn thẳng vậy? Theo bạn giải thích là 3, vậy thì 3 đoạn thẳng này sẽ phải dựng trên cơ sở nào vậy? Rồi khái niệm khoảng cách cắt của bạn là gì vậy? v.v......???

Mong bạn hãy cố diễn đạt làm sao để người ngu nhất cũng có thể hiểu được bạn muốn gì, đừng sủ dụng những từ mà chỉ một mình bạn hiểu.

Còn cà fe cũng tốt đấy, nhất là với những người khoái ngồi viết lisp. Nhưng rất tiếc là uống sao nổi khi chả biết giúp bạn thế nào !!!!!.

Chúc bạn vui và thành công trong cuộc sống.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tớ mới vào diễn đàn nên còn nhiều sai xót. Tớ nói lại yêu cầu nhé, lần này bỏ vấn đề ghi text.

 

Bài 1:

1 - Gõ tên lệnh

2 - Nhập thông số ( R, K)

3 - Vẽ đoạn L1

4 - Vẽ đoạn L2. Sau khi vẽ L2 thì tự động fillet bán kính R

5 - Vẽ đoạn L3. Sau khi vẽ L3 thì tự động fillet bán kính R.

6 - Vẽ đoạn L4. Do L4 cắt L3 nên lisp tự động cắt 1 khỏang cách K. 2 điểm K1 và K2 đối xứng nhau.

7 - Vẽ đoạn L5. Sau khi vẽ L5 thì tự động fillet bán kính R.

Kết thúc

 

http://www.cadviet.com/upfiles/bai_1.jpg

 

Bài 2:

1 - Gõ tên lệnh

2 - Nhập thông số ( R, K, n )

3 - Enter và lisp tự động vẽ n đoạn thẳng từ C1 đến C2. ( n là số đoạn thẳng muốn vẽ )

Kết thúc

 

http://www.cadviet.com/upfiles/bai_2.jpg

 

Tớ xin lưu ý các bác điểm này ở 2 bài

Phương các đoạn thẳng phải khác nhau thì mới fillet được ( Đương nhiên )

L1 L2 L3 không cắt nhau. Nếu đoạn thẳng không cắt nhau lisp tự động fillet bán kính R. Nếu đoạn thẳng cắt nhau lisp tự động tạo 1 khoảng cắt là K.

Ở bài 2 thì lisp sẽ vẽ các đoạn thẳng theo qui tắc nào thì các bác làm sao cũng được hay theo qui tắc trái qua phải, trên xuống dưới cũng được.

Thông số về polyline mặc định hay người dùng thiết định thì càng tốt.

 

Có bác nào chưa rõ thì nhắn lại nhé.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Các tiền bối ơi. Em đang dùng phần mềm NOVA3 chạy trên cad 14. Mỗi lần xuất trắc ngang song cho vào khung thật mệt. Có ai giúp em có thể suất luôn khung tên luôn khi chạy trắc ngang.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Em phiền thêm các tiền bối tý. em có 1 bản vẽ gồm các đoạn line và polyne. em muốn khi chọn đối tượng thì nó tự điền kích thước luôn. Mong các tiền bối giúp đỡ .

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Em phiền thêm các tiền bối tý. em có 1 bản vẽ gồm các đoạn line và polyne. em muốn khi chọn đối tượng thì nó tự điền kích thước luôn. Mong các tiền bối giúp đỡ .

Ở trong CAD có sẳn rồi bạn ơi.

Lệnh ghi kích thước theo đường thẳng :

Command: _dimlinear

Specify first extension line origin or : Gõ enter để chọn đối tượng

 

Select object to dimension: : Chọn đối tượng để ghi kích thước

Specify dimension line location or

[Mtext/Text/Angle/Horizontal/Vertical/Rotated]:

Dimension text = 3620

 

Lệnh ghi kích thước theo đường xiên :

Command: _dimaligned

Specify first extension line origin or : Gõ enter để chọn đối tượng

 

Select object to dimension: : Chọn đối tượng để ghi kích thước

Specify dimension line location or

[Mtext/Text/Angle]:

Dimension text = 14051

 

Chúc thành công :cheers:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Em phiền thêm các tiền bối tý. em có 1 bản vẽ gồm các đoạn line và polyne. em muốn khi chọn đối tượng thì nó tự điền kích thước luôn. Mong các tiền bối giúp đỡ .

 

bạn dùng lệnh qdim(quickdim) là nhanh nhất.lệnh này cho phép dim nhiều đối tượng 1 lúc.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
bạn dùng lệnh qdim(quickdim) là nhanh nhất.lệnh này cho phép dim nhiều đối tượng 1 lúc.

Lệnh qdim(quickdim) chỉ ghi kích thước nhanh đối với loại dimlinear (kích thước ghi theo đường thẳng). Còn đối với đường xiên (dimaligned) thì không được.

Các bạn có cách nào ghi kích thước xiên (dimaligned) nhanh nhất không?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Tớ mới vào diễn đàn nên còn nhiều sai xót. Tớ nói lại yêu cầu nhé, lần này bỏ vấn đề ghi text.

 

Bài 1:

1 - Gõ tên lệnh

2 - Nhập thông số ( R, K)

3 - Vẽ đoạn L1

4 - Vẽ đoạn L2. Sau khi vẽ L2 thì tự động fillet bán kính R

5 - Vẽ đoạn L3. Sau khi vẽ L3 thì tự động fillet bán kính R.

6 - Vẽ đoạn L4. Do L4 cắt L3 nên lisp tự động cắt 1 khỏang cách K. 2 điểm K1 và K2 đối xứng nhau.

7 - Vẽ đoạn L5. Sau khi vẽ L5 thì tự động fillet bán kính R.

Kết thúc

 

http://www.cadviet.com/upfiles/bai_1.jpg

 

 

Có bác nào chưa rõ thì nhắn lại nhé.

Chào bạn saudoihamchoi08,

Đây là hai cái lisp mình viết theo yêu cầu của bạn. Có thể bạn xài chơi, có thể bạn chả cần. Nhưng mình muốn làm để bạn hiểu cái điều mình đã nói ở bài post trước.

http://www.cadviet.com/upfiles/Tromeo.lsp

http://www.cadviet.com/upfiles/Tromeo1.lsp

Lisp tromeo là mình viết theo cái cách bạn nói

Lisp tromeo 1 là mình viết theo hình bạn gửi kèm. Tuy nhiên mình chỉ làm cái kết quả là cắt đường đứng, còn cái cắt đường ngang và các khoản ghi chú kích thước mình không làm vì không thấy có yêu cầu.

 

Qua đó bạn thấy giữa cái bạn nói và cái hình bạn post hoàn toàn có thể hiểu khác nhau. Bạn nên rút kinh nghiệm để trình bày sao cho người khác hiểu đúng ý mình, nhất là trong các vấn đề kỹ thuật bạn ạ.

 

Nếu bạn thấy có vấn đề gì về cái lisp mình gửi thì cứ trao đổi , còn nếu bạn khoái cái lisp này thì cà fe đừng quên nhé.

Chúc bạn thành công.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Tớ mới vào diễn đàn nên còn nhiều sai xót. Tớ nói lại yêu cầu nhé, lần này bỏ vấn đề ghi text.

 

Bài 2:

1 - Gõ tên lệnh

2 - Nhập thông số ( R, K, n )

3 - Enter và lisp tự động vẽ n đoạn thẳng từ C1 đến C2. ( n là số đoạn thẳng muốn vẽ )

Kết thúc

 

http://www.cadviet.com/upfiles/bai_2.jpg

 

Tớ xin lưu ý các bác điểm này ở 2 bài

Phương các đoạn thẳng phải khác nhau thì mới fillet được ( Đương nhiên )

L1 L2 L3 không cắt nhau. Nếu đoạn thẳng không cắt nhau lisp tự động fillet bán kính R. Nếu đoạn thẳng cắt nhau lisp tự động tạo 1 khoảng cắt là K.

Ở bài 2 thì lisp sẽ vẽ các đoạn thẳng theo qui tắc nào thì các bác làm sao cũng được hay theo qui tắc trái qua phải, trên xuống dưới cũng được.

Thông số về polyline mặc định hay người dùng thiết định thì càng tốt.

 

Có bác nào chưa rõ thì nhắn lại nhé.

Chào bạn saudoihamchoi08,

Đã xem hình của bạn và cả đọc bài nữa vẫn không hiểu. Vậy khi n=4 thì sao, n=5 thì sao và khi n =10000000 thì Ô là là khỏi vẽ à????

Bạn phải cho quy định cụ thể chứ, không có bố thằng Tây cũng khóc.

 

À mà bạn lưu ý cho là nếu hai đường thẳng song song vẫn có thể fillet được đó. không tin, bạn hãy thử nhé.

Nói hai điểm đối xứng nhau là chưa đủ, bạn cần phải cho biết đối xứng qua tâm hay qua trục nào nữa nhé. Đừng chủ quan.

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Khách
Chủ đề này bây giờ đã bị đóng lại để trả lời thêm.

×