Đến nội dung


Hình ảnh

Kinh nghiệm sử dụng AutoCAD


  • Please log in to reply
194 replies to this topic

#141 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 01 August 2012 - 09:47 PM

@Haanh: trong những vấn đề tế nhị và mang tính khoa học như thế này thì tôi không bất cẩn đến thế đâu. Thậm chí tôi còn "vẽ" ra rất nhiều trường hợp khác để test. Tôi dùng cad2007. Bạn nào dùng cad2007 thì test thử giùm trên file tôi đã gửi.
@All: tôi đang nghi ngờ Cad có 1 lỗi gì đó chăng, khi có bạn nói cad2004 khác cad2007, rồi khác các cad sau nữa.
Rất hy vọng và chờ đợi mọi người: từ test, đến giải thích, rồi kết luận.
Thân!
  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#142 haanh

haanh

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2884 Bài viết
Điểm đánh giá: 1556 (rất tốt)

Đã gửi 01 August 2012 - 09:55 PM

@Haanh: trong những vấn đề tế nhị và mang tính khoa học như thế này thì tôi không bất cẩn đến thế đâu. Thậm chí tôi còn "vẽ" ra rất nhiều trường hợp khác để test. Tôi dùng cad2007. Bạn nào dùng cad2007 thì test thử giùm trên file tôi đã gửi.
@All: tôi đang nghi ngờ Cad có 1 lỗi gì đó chăng, khi có bạn nói cad2004 khác cad2007, rồi khác các cad sau nữa.
Rất hy vọng và chờ đợi mọi người: từ test, đến giải thích, rồi kết luận.
Thân!

_Bác viết : @All: tôi đang nghi ngờ Cad có 1 lỗi gì đó chăng, khi có bạn nói cad2004 khác cad2007, rồi khác các cad sau nữa.
Rất hy vọng và chờ đợi mọi người: từ test, đến giải thích, rồi kết luận.
Thân!"
Em trả lời: Chưa chắc AutoCAD của bác đã bị lỗi đâu! Và muốn biết AutoCAD của bác có bị lỗi hay không, có ít nhất là 03 cách kiểm tra....bác thử kiểm tra lại xem?

Có thể là bác ít va chạm với tính diện tích các hình phẳng, các mặt 3D, nên bác đã có sự nhầm lẫn đó thôi! Bây giờ thì em xin khẳng định là bác dùng lệnh Area chưa chuẩn đâu, đó là sự thật. Bác cứ suy ngẫm lại đi nhé!
( Coi như đây là câu đố vui bác ạ!)

ở trang trước em đã viết :

@ Bác Doan Van Ha: Hình bên trái của bác P1(P5) _ P2 _ P3 _ P4 bác tính ra Araa = 0 chắc là sai rồi, bác kiểm tra lại xem sao???


  • 0

“Sống trong đời sống cần có một tấm lòng / Để làm gì em biết không ? / Để gió cuốn đi, để gió cuốn đi...”


#143 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 01 August 2012 - 10:04 PM

Ghê!
Nếu ghê như thế thì tôi xin thua.
Như đã từng thua trong 1 lần mà Haanh lý luận cái chuồng có 2 lỗ cho chó và mèo chui qua trước đây.
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#144 haanh

haanh

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2884 Bài viết
Điểm đánh giá: 1556 (rất tốt)

Đã gửi 01 August 2012 - 11:11 PM

Bác Doan Van Ha thân mến! Em với bác đã từng có những kỷ niệm đẹp và cực kỳ loãng moạng ở các trang 37 và 38 (Mục ĐỐ VUI). Khi em tự ý mạn phép mượn các ý tưởng của bác để ra các câu đố. Bác đã giải đố bằng Lisp rồi lại còn tặng em cả cái giao diện Lisp còn hơn cả loãng moạng nữa, em rất vui và cảm động.
Em coi bác như người anh lớn tuổi, em trao đổi với bác trên tinh thần cởi mở, thân thiện như “cãi nhau” với chồng em bác ạ! Chồng em là người cực kỳ cẩn thận. Bác cũng là người cẩn thận nhưng cũng có lúc nhầm.

Em phải trích dẫn lại bài viết dưới đây, để bác hiểu là em cũng bị "lây nhiễm bệnh cẩn thận" của chồng em. Khi sử dụng lisp của bác em đã bắt điểm xuôi, rồi lại bắt điểm ngược để kiểm tra chứ không phải là “soi” Lisp của bác đâu nhé:

@ bác Doan Văn Ha:
1)- Đỏ : Lisp lãng mạn là vì có hiện ra dòng chữ: “2 mat nay giao nhau. Giao tuyen sẽ duoc ve!” … rất gần gũi và thân thương bác ạ! Cứ như là em đang nói chuyện với lisp vậy. Dùng AutoCAD thì chỉ có hình vẽ suông thôi bác ơi!
2)- Xanh : Em giơ cả hai tay đồng ý với bác!

Bác xem lại lisp xác định giao tuyến giữa hai mặt phẳng, có trường hợp lisp cho ra thông số sai. Hình ảnh trên em vẽ hai mặt phẳng P1 và P2 đi qua 3 điểm bất kỳ trong không gian. Em chủ chủ động vẽ trường hợp P1 cắt P2 để thử lisp, kết quả như sau:
Hình đã gửi
Sau khi thực hiện lệnh HA , bắt điểm P1 theo thứ tự mầu xanh 1, 2, 3 không có vướng mắc gi, nhưng:
- Nếu bắt điểm P2 theo thứ tự màu xanh 1,2, 3: Lisp thông báo : 2 mat nay giao nhau. Giao tuyen sẽ duoc ve! (đúng) :rolleyes:
- Nếu bắt điểm P2 theo thứ tự mầu đỏ 1, 2, 3 : Lisp thông báo: Hai mat nay song song nhau! (sai)- B)
File hình vẽ đây bác kiểm tra lại nhé: http://www.cadviet.c...37_haanh64.dwg

3b). Tôi bị nhầm lẫn 1 chút trong việc xác định 2 MP // nhau nên sinh ra lỗi trên, đã sửa ở link cũ, srr.
1). Haanh thích loãng moạng thì tặng bạn cái này, còn loãng moạng hơn! Coi như thư giản cuối tuần nhé!
http://www.cadviet.c..._plane_ha_1.lsp

Bác Doan Van Ha ạ! Bác bảo “Tôi xin thua” làm em áy náy quá! Để biết AutoCAD của bác có bị lỗi không? Có 03 cách kiểm tra :
Cách 1 : Bác gõ MEA là lệnh tắt của lệnh MEASUREGEOM để xác định xem cái hình bên trái của bác vẽ có ra kết quả :
Area = 0 không nhé:

Hình đã gửi
- Hình bên phải em bắt 04 điểm theo thứ tự P1> P2> P3 > P4 >ra diện tích 106.9474 chính xác hơn của bác 0.0447
- Hình bên trái em bắt 05 điểm theo thứ tự P1> P2> P3 > P4 > (P5) > Cũng ra diện tích 106.9474 còn kết quả của bác là Aree=0
(Em vừa mở file của bác ra thử lại)
Cách 2: ….
Cách 3:......
Còn 02 cách nữa, bác kiểm tra sẽ biết liền! Và em tin rằng AutoCAD của bác không bị lỗi.
Xin gửi bác lời chào trân trọng!
Em: Trần Hà Anh
  • 0

“Sống trong đời sống cần có một tấm lòng / Để làm gì em biết không ? / Để gió cuốn đi, để gió cuốn đi...”


#145 TRUNGNGAMY

TRUNGNGAMY

    biết lệnh block

  • Members
  • PipPipPipPipPipPip
  • 401 Bài viết
Điểm đánh giá: 91 (tàm tạm)

Đã gửi 02 August 2012 - 01:02 AM

Các bạn thử tính diện tích giúp mình hình sau đây (kèm file) xem thử có rút ra đc gì kg
http://www.cadviet.c...tichhinhho3.dwg
  • 0

#146 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 02 August 2012 - 07:18 AM

Cách 1 : Bác gõ MEA là lệnh tắt của lệnh MEASUREGEOM để xác định xem cái hình bên trái của bác vẽ có ra kết quả :
Area = 0 không nhé:
- Hình bên phải em bắt 04 điểm theo thứ tự P1> P2> P3 > P4 >ra diện tích 106.9474 chính xác hơn của bác 0.0447
- Hình bên trái em bắt 05 điểm theo thứ tự P1> P2> P3 > P4 > (P5) > Cũng ra diện tích 106.9474 còn kết quả của bác là Aree=0
(Em vừa mở file của bác ra thử lại)
Cách 2: ….
Cách 3:......
Còn 02 cách nữa, bác kiểm tra sẽ biết liền! Và em tin rằng AutoCAD của bác không bị lỗi.
Xin gửi bác lời chào trân trọng!
Em: Trần Hà Anh

1). Tôi dùng cad2007, không có lệnh MEA... nên không thử được bằng lệnh này.
2). Tôi dùng lệnh LIST và AREA rồi bấm chọn vào 2 đối tượng thì vẫn ra S=0 và S=106,...
3). Tôi dùng lệnh AREA rồi pick vào 4 điểm (H.1) và 5 điểm (H.2) như Haanh thì ra S=0 và S=0
4). Tôi dùng hàm vla-get-Area cũng ra kết quả S=0 và S=106...
Đó là tất cả những gì tôi test lại. Liệu như thế thì cách tính S của tôi có gì sai và sai ở chỗ nào. Haanh thử test kiểu như tôi xem sao nhé.
P/S (8h33-02/8/2012): tôi test trên cad2007 và cad2004 ở 1 máy khác thì kết quả vẫn như trên.
Bạn nào rảnh thì test giùm cái!
P/S: test trên file của bạn Trungngamy cũng ra S=0 luôn.
Test trên bản vẽ Haanh:
Hình bên trái: Selected object does not have an area
Hình bên phải: Area = 54.8552, Length = 239.2753
Test trên bản vẽ của Sgcq ở bên dưới:
Hình bên trái: Selected object does not have an area
Hình bên phải: Area = 49.0093, Length = 239.2759
Tóm lại: không thể hiểu nổi!
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#147 sgcq

sgcq

    Hội Hai Lúa

  • Members
  • PipPipPipPipPipPipPip
  • 1880 Bài viết
Điểm đánh giá: 692 (tốt)

Đã gửi 02 August 2012 - 08:13 AM

Các bạn thử tính diện tích giúp mình hình sau đây (kèm file) xem thử có rút ra đc gì kg
http://www.cadviet.c...tichhinhho3.dwg


Thấy mấy bác đây thảo luận đề tài xôm tụ quá.
Em xài lệnh MEA theo gợi ý của chị @Trần Hà Anh và lệnh AA của anh @DoanVanHa kết quả cho thấy như nhau. Cho nên bài của bác @Trung-NgaMy em ko rút được kết luận gì.
Em xài cad 2013.
Hình đã gửi
  • 0

12728974_230210507314169_718723558582070 HỘI HAI LÚA

           fanpage: https://www.facebook.com/HoiHaiLua/

 

 

 

 

 

 


#148 sgcq

sgcq

    Hội Hai Lúa

  • Members
  • PipPipPipPipPipPipPip
  • 1880 Bài viết
Điểm đánh giá: 692 (tốt)

Đã gửi 02 August 2012 - 09:12 AM

Hình đã gửi

Em đã cố tình vẽ một cái đối xứng bằng nhau chằn chặn như hai quả đồi.
Còn một cái em có tình Stretch kéo đúng tâm về bên trái 1mm. Kết quả như hình ảnh chắc bác có thể dễ dàng tìm ra được tung tích của Area!


Hình trên sau khi Bo > em dùng Li để xem diện tích.

Em dùng AutoCAD2013, đây là file bản vẽ đã save xuống AutoCAD2004 :http://www.cadviet.c...837_haanh18.dwg

@ Bác Doan Van Ha: Hình bên trái của bác P1(P5) _ P2 _ P3 _ P4 bác tính ra Area = 0 chắc là sai rồi, bác kiểm tra lại xem sao???


@Chị Hà Anh. File của chị em down về đúng là cho kết quả như chị mô tả. Nhưng Em new một file mới và làm theo hướng dẫn của chị thì kết quả hoàn toàn khác xa.
Sau khi so sánh giữa 2 file của chị và của em như vậy, chắc em phải hạn chế sử dụng lệnh EATTEXT rồi. E đang test thử nếu đường polyline có bị vậy khộng. Chị có bài test nào thì lì xì em với nhé.
Em đính kèm hình và file cad bên dưới. (Cũng save2004)

Hình đã gửihttp://www.cadviet.c...110802_sgcq.dwg
  • 1

12728974_230210507314169_718723558582070 HỘI HAI LÚA

           fanpage: https://www.facebook.com/HoiHaiLua/

 

 

 

 

 

 


#149 haanh

haanh

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2884 Bài viết
Điểm đánh giá: 1556 (rất tốt)

Đã gửi 02 August 2012 - 11:54 AM

@Chị Hà Anh. File của chị em down về đúng là cho kết quả như chị mô tả. Nhưng Em new một file mới và làm theo hướng dẫn của chị thì kết quả hoàn toàn khác xa.
Sau khi so sánh giữa 2 file của chị và của em như vậy, chắc em phải hạn chế sử dụng lệnh EATTEXT rồi. E đang test thử nếu đường polyline có bị vậy khộng. Chị có bài test nào thì lì xì em với nhé.
Em đính kèm hình và file cad bên dưới. (Cũng save2004)
http://www.cadviet.c...110802_sgcq.dwg

Em vừa mở sgcq.dwg của anh thấy kết quả giống như của anh. Mà thôi em sẽ ko bàn thêm một nhời nào về cái Ctrl + 1 để Area cái miền hở hang nữa, vừa tốn thời gian vô bổ vừa gây sự hiểu lầm không đáng có.
Giống như bác, việc xác định Area của hai đường tròn sinh đôi của bác TRUNGNGAMY, em cũng chẳng rút ra được cái gì cả! Thôi kệ mặc bác ứ, bác ứ muốn rút ra thì bác ứ cứ việc: Rút ra! Rút ra! Rút ra!....Kể cả bác ấy không rút ra được cũng mặc kệ, cho bác ấy ngâm cứu theo chuyên đề mà bác ứ đeo đuổi...

Nhờ anh giúp em giải trình cái vụ Area = 0 của bác Doan Van Ha. Em đã biết chắc chắn nguyên nhân ko phải do AutoCAD của bác ấy bị lỗi . Em chưa trả lời vội vì em còn phải hỏi ý kiến của bác AutoCAD2007 nữa. Em đang Downloat bác Bẩy về, chiều mới cài đặt được.

Mỗi khi làm việc gì em cũng tìm ra nhiều cách làm để chọn ra một cách làm nhanh nhất. Để xác định Area của hai đường tròn sinh đôi bằng lệnh (MEA) MEASUREGEOM có hai sự lựa chọn tham số khác nhau :
1-
Command: MEA
MEASUREGEOM
Enter an option [Distance/Radius/Angle/ARea/Volume] <Distance>: AR
Specify first corner point or [Object/Add area/Subtract area/eXit] <Object>: O
Select objects:
Area = 490.6120, Perimeter = 111.0424

2- Command: MEA
MEASUREGEOM
Enter an option [Distance/Radius/Angle/ARea/Volume] <Distance>: R
Select arc or circle:
Radius = 8.8365
Diameter = 17.6730
Enter an option [Distance/Radius/Angle/ARea/Volume/eXit] <Radius>:
Select arc or circle:
Radius = 8.8365
Diameter = 17.6730
Enter an option [Distance/Radius/Angle/ARea/Volume/eXit] <Radius>:
Select arc or circle: 8.8365 Copy kết quả Radius ở trên rồi Pate vào dòng này
Select arc or circle: 8.8365 Copy kết quả Radius rồi Pate vào dòng này
Select arc or circle:
Enter an option [Distance/Radius/Angle/ARea/Volume/eXit] <Radius>: AR
Specify first corner point or [Object/Add area/Subtract area/eXit] <Object>:
Select objects:
Area = 490.6120, Perimeter = 111.0424
  • 0

“Sống trong đời sống cần có một tấm lòng / Để làm gì em biết không ? / Để gió cuốn đi, để gió cuốn đi...”


#150 Detailing

Detailing

    biết lệnh imageclip

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

Đã gửi 02 August 2012 - 01:31 PM

Thấy mọi người tranh luận sôi nổi quá, em góp 1 ít.
Về cơ bản thì đường hở thì ko có diện tích :D, muốn tính diện tích thì phải tạo region -> Area
Em biết thế nào cũng có bạn hỏi: ko có sao bảng properties nó hiện ra? :D
hehehe, trong 1 lần tìm hiểu xem làm sao biết dc chiều của polyline (CW or CCW) thì em biết dc rằng nếu chiều của 1 segment ngược chiều kim đồng hồ thì area < 0 và ngược lại. Tuy nhiên với Polyline nếu area < 0 -> hiện ra = -1 * area > 0
Lại có câu hỏi sao spline lại có area = -1 => spline hở tính area theo control point chứ ko phải theo fit point và tại sao nó hiện ra -1 thì "thua" :D. Tuy nhiên nếu convert 1 Spline đối xứng (area = -1) thành Polyline thì Area = 0
  • 1

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#151 TRUNGNGAMY

TRUNGNGAMY

    biết lệnh block

  • Members
  • PipPipPipPipPipPip
  • 401 Bài viết
Điểm đánh giá: 91 (tàm tạm)

Đã gửi 02 August 2012 - 03:08 PM

Biết nói thế nào về vđ này nhỉ. Ngày xưa khi mới vào ngành địa chính, lúc đó sd lệnh bpoly của cad để tạo đường bao sau đó tính diện tích thì lúc đc lúc kg (do lệnh bpoly lúc đó có nhiều lỗi nên lắm lúc kg tạo đc). Mình phải nỗ lực viết ra cái lisp tìm đường bao, nó cũng lỗi thời và kg hữu dụng nữa. Có điều, khi viết lệnh đó mình phải sd đến một công tính dt bằng tọa độ bằng Lisp

(defun veduongbao( lis / i)
(setq i 0)
(repeat (- (length lis) 1)
(grdraw (nth i lis) (nth (+ i 1) lis) 2 1)
(setq i (1+ i))
)
)
(defun tinhdientich( lis k / dt i)
(setq dt 0.0)
(setq i 0)
(setq lis (append lis (list (car lis))))
(repeat (- (length lis) 1)
(setq dt (+ dt (- (* (car (nth i lis)) (cadr (nth (1+ i) lis)))
(* (cadr (nth i lis)) (car (nth (1+ i) lis))))))
(setq i (1+ i))
)
(veduongbao lis)
(if k
(progn
(prompt "\nDien tich la: ")
(grread)
)
)
(redraw)
(/ dt 2.0)
)
Công thức này luôn quan niệm hình là khép kín. Nếu hở thì mình tự cho nó kín bằng cách nối điểm đầu và cuối. Theo kq của CT này mà mình đã test, thì dt có thể dương hoặc âm tùy vào hướng đi của đường bao nghịch hay thuận chiều kim đồng hồ. Theo đó, những hình có tọa độ chéo nhau như TH mình và bác Ha nêu đều có diện tích bù trừ nhau. Có thể từ cad cũ đến 2010 theo quan điểm này (cũng có TH nó nhầm lẫn như cái hình bác Ha nêu). Tuy nhiên, từ đời cad2012 trở lên thì cad thay đổi quan điểm, có thể về mặt trực quan có vẻ đúng nhưng theo CT trên nó lại sai. Việc thay đổi của cad có thể sẽ gây khó khăn cho một số CT. Đó là nhận xét của riêng mình
  • 1

#152 TRUNGNGAMY

TRUNGNGAMY

    biết lệnh block

  • Members
  • PipPipPipPipPipPip
  • 401 Bài viết
Điểm đánh giá: 91 (tàm tạm)

Đã gửi 02 August 2012 - 03:25 PM

Sự thay đổi còn đáng nói hơn nữa khi cùng một hình. Lệnh Boundary cad2002 và cad 2012 cho ra hai cái hình có diện tích chênh nhau, 148.7361 (cad2002) và 148.6777( cad2012)
http://www.cadviet.c...thutinhdt_1.dwg
test thêm :
148.6871 (cad 2006), 148.6777 (cad2007,cad2008,cad2010)
  • 0

#153 kncam

kncam

    biết lệnh rotate

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

Đã gửi 02 August 2012 - 04:27 PM

Bạn nào chỉ giúp mình cách in bản vẽ trong Model,layout voi
Khu đo của mình quá dài, mình phải chia bản vẽ ra thành nhiều đoạn để quản lý và in ấn, đồng nghĩa với việc phải quản lý nhiều file bản vẽ nên rất bất tiện.
Có cách nào để mình chỉ cần chỉnh sửa và lưu trữ trên 1 file bản vẽ và tạo khung cho mỗi đoạn đo, khi muốn in đọan nào thì chỉ việc ốp bản vẽ vào khung đọan đó ko?
Bạn nào biết chỉ giúp mình với!!!

Xem tại đây
http://www.cadviet.c...=0
  • 0
nongdan@sg

#154 haanh

haanh

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2884 Bài viết
Điểm đánh giá: 1556 (rất tốt)

Đã gửi 02 August 2012 - 09:39 PM

Biết nói thế nào về vđ này nhỉ. Ngày xưa khi mới vào ngành địa chính, lúc đó sd lệnh bpoly của cad để tạo đường bao sau đó tính diện tích thì lúc đc lúc kg (do lệnh bpoly lúc đó có nhiều lỗi nên lắm lúc kg tạo đc). Mình phải nỗ lực viết ra cái lisp tìm đường bao, nó cũng lỗi thời và kg hữu dụng nữa. Có điều, khi viết lệnh đó mình phải sd đến một công tính dt bằng tọa độ bằng Lisp


(defun veduongbao( lis / i)
(setq i 0)
(repeat (- (length lis) 1)
(grdraw (nth i lis) (nth (+ i 1) lis) 2 1)
(setq i (1+ i))
)
)
(defun tinhdientich( lis k / dt i)
(setq dt 0.0)
(setq i 0)
(setq lis (append lis (list (car lis))))
(repeat (- (length lis) 1)
(setq dt (+ dt (- (* (car (nth i lis)) (cadr (nth (1+ i) lis)))
(* (cadr (nth i lis)) (car (nth (1+ i) lis))))))
(setq i (1+ i))
)
(veduongbao lis)
(if k
(progn
(prompt "\nDien tich la: ")
(grread)
)
)
(redraw)
(/ dt 2.0)
)
Công thức này luôn quan niệm hình là khép kín. Nếu hở thì mình tự cho nó kín bằng cách nối điểm đầu và cuối. Theo kq của CT này mà mình đã test, thì dt có thể dương hoặc âm tùy vào hướng đi của đường bao nghịch hay thuận chiều kim đồng hồ. Theo đó, những hình có tọa độ chéo nhau như TH mình và bác Ha nêu đều có diện tích bù trừ nhau. Có thể từ cad cũ đến 2010 theo quan điểm này (cũng có TH nó nhầm lẫn như cái hình bác Ha nêu). Tuy nhiên, từ đời cad2012 trở lên thì cad thay đổi quan điểm, có thể về mặt trực quan có vẻ đúng nhưng theo CT trên nó lại sai. Việc thay đổi của cad có thể sẽ gây khó khăn cho một số CT. Đó là nhận xét của riêng mình

Em học chuyên hóa phổ thông> vào đại học ngành khoa học nửa tự nhiên nửa xã hội > đi làm được 1 năm 4 tháng chán >bỏ ra ngoài làm nghề buôn bán vặt > lấy chồng dân kỹ thuật cơ khí xây dựng. Chồng em dậy em vẽ AutoCAD với ý định mở cửa hàng in và photo > sau công việc chính là vẽ vời phụ giúp công việc vẽ và thiết kế của nhà em > và cuối cùng bây giờ là không phải vẽ vời gì hết, chỉ ở nhà nuôi con kiêm Oshin gia đình + thỉnh thoảng vào CADViet thư giãn ôn lại lệnh vẽ.
Về công việc của bác, em không hiểu gì đâu.
Em đã AP cái Cacvietlisp của bác nhưng không sử dụng được, bác xem lại giúp em nhé! Em cảm ơn bác nhiều!
  • 0

“Sống trong đời sống cần có một tấm lòng / Để làm gì em biết không ? / Để gió cuốn đi, để gió cuốn đi...”


#155 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 02 August 2012 - 10:31 PM

Lisp trên của bác TNM mới chỉ đưa ra hàm (dạng hàm con) nhưng chưa đưa ra lệnh để dùng nên khó dùng lắm. Chắc phải đợi bác TNM bổ sung lệnh dạng C:XYZ thì Haanh mới có thể dùng được.
  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#156 TRUNGNGAMY

TRUNGNGAMY

    biết lệnh block

  • Members
  • PipPipPipPipPipPip
  • 401 Bài viết
Điểm đánh giá: 91 (tàm tạm)

Đã gửi 02 August 2012 - 11:43 PM

Mình nghĩ chỉ đưa lên vậy thôi. Nếu muốn thành lệnh thì phải thêm cái hàm chọn đối tượng là pl nó sẽ trả về một listpoint sau đó đưa vào hàm trên thì tính đc.

(defun get-vertex-lwpline (e / lstpt) (setq lstpt '()) (foreach x (entget e) (if (= (car x) 10) (setq lstpt (append (list (cdr x)) lstpt)))) lstpt) ;H&#224;m n&#224;y c&#7911;a cadviet
(DEFUN C:TDT() (TINHDIENTICH (get-vertex-lwpline (car (entsel "Chon pl"))) T))
Lệnh là TDT.
cái hàm get-vertex-lwpline chưa sd đc với TH spline nên các bạn chỉ dùng cho TH pl toàn line mà thôi.
  • 1

#157 haanh

haanh

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2884 Bài viết
Điểm đánh giá: 1556 (rất tốt)

Đã gửi 02 August 2012 - 11:44 PM

1). Tôi dùng cad2007, không có lệnh MEA... nên không thử được bằng lệnh này.
2). Tôi dùng lệnh LIST và AREA rồi bấm chọn vào 2 đối tượng thì vẫn ra S=0 và S=106,...
3). Tôi dùng lệnh AREA rồi pick vào 4 điểm (H.1) và 5 điểm (H.2) như Haanh thì ra S=0 và S=0
4). Tôi dùng hàm vla-get-Area cũng ra kết quả S=0 và S=106...
Đó là tất cả những gì tôi test lại. Liệu như thế thì cách tính S của tôi có gì sai và sai ở chỗ nào. Haanh thử test kiểu như tôi xem sao nhé.
P/S (8h33-02/8/2012): tôi test trên cad2007 và cad2004 ở 1 máy khác thì kết quả vẫn như trên.
Bạn nào rảnh thì test giùm cái!
P/S: test trên file của bạn Trungngamy cũng ra S=0 luôn.
Test trên bản vẽ Haanh:
Hình bên trái: Selected object does not have an area
Hình bên phải: Area = 54.8552, Length = 239.2753
Test trên bản vẽ của Sgcq ở bên dưới:
Hình bên trái: Selected object does not have an area
Hình bên phải: Area = 49.0093, Length = 239.2759
Tóm lại: không thể hiểu nổi!

Hình đã gửi
Bác Doan Van Ha thân mến!
Em vừa thử AutoCAD2007 những bước công việc bác đã làm và kết quả như bác đã nêu ra là đúng. Nhưng............Bác cần ngâm cứu lại cái Area: Command: aa AREA Specify first corner point or [Object/Add/Subtract]: ( Vì sao Area = 0, ý nghĩa của số 0 này??? và bác phải làm gì để Area ≠ 0???)

Về bản chất các lệnh tính diện tích của AutoCAD2013 không có gì thay đổi so với AutoCAD2007 nó luôn tuân theo một quy luật bất di bất dịch. Nó chỉ khác là thao tác thuận tiện hơn, có giao diện trực quan là màng xanh phủ hình vẽ trong lúc truy bắt điểm.

Đây là một ví dụ em tính diện tích hai đường tròn sinh đôi của bác trên AutoCAD2013 để bác tham khảo nhé:

Mỗi khi làm việc gì em cũng tìm ra nhiều cách làm để chọn ra một cách làm nhanh nhất. Để xác định Area của hai đường tròn sinh đôi bằng lệnh (MEA) MEASUREGEOM có hai sự lựa chọn tham số khác nhau :
Cách 1:
Command: MEA
MEASUREGEOM
Enter an option [Distance/Radius/Angle/ARea/Volume] <Distance>: AR
Specify first corner point or [Object/Add area/Subtract area/eXit] <Object>: O
Select objects:
Area = 490.6120, Perimeter = 111.0424

Cách 2:
Command: MEA
MEASUREGEOM
Enter an option [Distance/Radius/Angle/ARea/Volume] <Distance>: R
Select arc or circle:
Radius = 8.8365
Diameter = 17.6730
Enter an option [Distance/Radius/Angle/ARea/Volume/eXit] <Radius>:
Select arc or circle:
Radius = 8.8365
Diameter = 17.6730
Enter an option [Distance/Radius/Angle/ARea/Volume/eXit] <Radius>:
Select arc or circle: 8.8365 Copy kết quả Radius ở trên rồi Pate vào dòng này
Select arc or circle: 8.8365 Copy kết quả Radius rồi Pate vào dòng này
Select arc or circle:
Enter an option [Distance/Radius/Angle/ARea/Volume/eXit] <Radius>: AR
Specify first corner point or [Object/Add area/Subtract area/eXit] <Object>:
Select objects:
Area = 490.6120, Perimeter = 111.0424

Cách 1: không có gì phải bàn : lựa chọn AR
Cách 2: Khi em thay đổi sự lựa chọn AR = R > sau khi em pick chọn 2 đường tròn xong, nó liên tục ra dòng Select arc or circle có ý nhắc nhở phải làm cách khác. Nếu em không Copy kết quả Radius ở trên rồi Pate vào dòng này thì coi như bó tay, không thể có cách 2.
  • 0

“Sống trong đời sống cần có một tấm lòng / Để làm gì em biết không ? / Để gió cuốn đi, để gió cuốn đi...”


#158 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 03 August 2012 - 06:50 AM

Bác Doan Van Ha thân mến!
1). Em vừa thử AutoCAD2007 những bước công việc bác đã làm và kết quả như bác đã nêu ra là đúng. Nhưng............Bác cần ngâm cứu lại cái Area: Command: aa AREA Specify first corner point or [Object/Add/Subtract]: ( Vì sao Area = 0, ý nghĩa của số 0 này??? và bác phải làm gì để Area ≠ 0???)
2). Về bản chất các lệnh tính diện tích của AutoCAD2013 không có gì thay đổi so với AutoCAD2007 nó luôn tuân theo một quy luật bất di bất dịch. Nó chỉ khác là thao tác thuận tiện hơn, có giao diện trực quan là màng xanh phủ hình vẽ trong lúc truy bắt điểm.

1). Bạn có thể giải thích cho tôi biết cách tính S mà tôi đã trình bày có gì sai và sai ở chỗ nào? Làm sao để H.1 và H.2 đều khác 0? Khả năng ngâm cứu của tôi chỉ đến đó thôi. Nếu Haanh hiểu rõ bản chất thì xin hãy nói ra để mọi người cùng học tập, vì chắc chắn nhiều người cũng sai như tôi.
2). Tại sao người khác cũng tính S bằng cách bấm chọn đối tượng như tôi mà S của H.1 lại khác 0?
3) Haanh có thể giải thích trường hợp S khác nhau mà bạn TNM đưa ra không? Có lẽ phương pháp tính không bất di bất dịch nên mới thế chứ ạ?
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#159 haanh

haanh

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2884 Bài viết
Điểm đánh giá: 1556 (rất tốt)

Đã gửi 03 August 2012 - 10:05 AM

Bác Doan Van Ha thân mến!
Em có thể chứng minh đường đi nước nước bước của bác chưa chuẩn ngay từ đầu. Chứng minh bằng Toán học, bằng Vật lý học một cách khoa học và nghiêm túc + Thông tin nói về Area.
Nhưng trong trong tay em chưa có AutoCAD2007 để thử làm theo cách bác đã làm, chiều qua mới cài đặt. Với lại em đã trót nhờ anh Cgcq giải trình giúp, đợi anh ấy hồi âm, em sẽ đưa ra ... đáp án chính thức sau.

@Haanh: trong những vấn đề tế nhị và mang tính khoa học như thế này thì tôi không bất cẩn đến thế đâu. Thậm chí tôi còn "vẽ" ra rất nhiều trường hợp khác để test. Tôi dùng cad2007. Bạn nào dùng cad2007 thì test thử giùm trên file tôi đã gửi.
@All: tôi đang nghi ngờ Cad có 1 lỗi gì đó chăng, khi có bạn nói cad2004 khác cad2007, rồi khác các cad sau nữa.
Rất hy vọng và chờ đợi mọi người: từ test, đến giải thích, rồi kết luận.
Thân!

Các phiên bản xài chùa từ AutoCAD2009 trở về trước đều có mặc định Area = 0. Nếu mua AutoCAD2009 bản quyền trọn gói sẽ không có mặc định Area = 0. Em đang xài chùa AutoCAD2013 cũng không có mặc trên, bác ạ!
Máy móc thiết bị là do con người làm ra, chắc chắn nó không thể hoàn thiện như tư duy của con người được, vì vậy khi sử dụng người ta phải tìm hiểu kỹ càng về tính năng công dụng, đọc kỹ hướng dẫn trước khi sử dụng, thường xuyên kiểm tra, bảo dưỡng, nâng cấp để nó gần gũi và thân thiết với con người hơn.
  • 0

“Sống trong đời sống cần có một tấm lòng / Để làm gì em biết không ? / Để gió cuốn đi, để gió cuốn đi...”


#160 duykhuong

duykhuong

    Chưa sử dụng CAD

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

Đã gửi 03 August 2012 - 11:16 AM

Moi lo mo ve cad!!!
ae cho hỏi???
e có nhìu đối tượng giống nhau và một cái khác. e muốn copy thay đổi các đối tượng giồng nhau thành cái khác đó thì phải làm thế nào zậy???
vd: e có các đối tượng 3 3 3 3 3 va 2
e muốn copy thành 2 2 2 2 2 và 2 thì lam thế nào để không phải copy xong cái nay rùi pải copy lại. zậy lâu quá....các bác giúp e!!!!!
  • 0