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

Nguyễn Quốc Khải

Thành viên
  • Số lượng nội dung

    12
  • Đã tham gia

  • Lần ghé thăm cuối

Bài đăng được đăng bởi Nguyễn Quốc Khải


  1. Vào lúc 17/1/2007 tại 13:21, Nguyen Hoanh đã nói:

    Phần 2:

     

    Trong phần 1, chúng ta đã xây dựng được 1 chương trình lisp có thể nói là thô sơ nhất thế giới. Và nó có 1 nhược điểm: mỗi lần load thì viết ra lệnh. Muốn viết lại phải appload thêm 1 lần nữa.

     

    Để điều khiển được thời điểm viết, và viết được nhiều lần, chúng ta phải định nghĩa một hàm AutoCAD, để mỗi khi gọi hàm này, chương trình sẽ viết ra màn hình text mà không cần phải appload lại file lisp.

     

    Trên file hoclisp.lsp, chúng ta thêm mã lệnh để trở thành như sau:

     

    (defun c:chao()

    (princ "\nChao cadviet")

    (princ)

    )

     

    Như vậy chúng ta đã định nghĩa được một lệnh của AutoCAD mang tên chao, mỗi lần gọi lệnh chao tại dòng nhắc Command, chương trình sẽ viết ra trên màn hình text dòng chữ: Chao cadviet.

     

    Trong 2 dòng vừa thêm, hàm defun là hàm định nghĩa lệnh AutoCAD. Có cấu trúc:

    (defun tenham() noidungham) trong đó:

    - tenham là tên hàm cần định nghĩa, nếu muốn định nghĩa một lệnh trong AutoCAD thì thêm 'C:' vào trước tên hàm.

    - noidungham là tập các lệnh mà hàm vừa định nghĩa sẽ thực thi.

    Tập hợp các lệnh mà hàm vừa định nghĩa sẽ thực thi không phải là (princ "\n Chao cadviet")) thôi sao ta? sao lại có thêm (princ) nữa?

     


  2. Vào lúc 13/6/2016 tại 09:24, dungndgeo đã nói:

    Lâu rồi không thấy bác Hoành viết tiếp nhỉ? Những bài viết cua bác (và của nhiều mem khác nữa) rất hữu ích cho những người mới học như tôi. Cảm ơn các bác nhiều nhé!

    Giờ mình cũng vừa bắt đầu học đây, mới biết tới cái hàm princ của bác Hoành thôi! ha ha ha...nhờ anh Tiềm truyền lữa!


  3. Vào lúc 17/1/2007 tại 13:08, Nguyen Hoanh đã nói:

    Phần 1: bắt đầu

    Vào lúc 17/1/2007 tại 13:08, Nguyen Hoanh đã nói:

    Phần 1: bắt đầu

     

    Đầu tiên, chúng ta hãy bắt đầu bằng chương trình viết chữ.

     

    Hãy tạo một file mới và save nó với tên hoclisp.lsp.

    (princ "\nChao cadviet")

    (princ)

    Đây là đoạn mã đơn giản nhất của AutoLisp nhằm viết ra một dòng 'Chao cadviet' trên màn hình nhập dữ liệu của autocad. để sử dụng, appload file hoclisp.lsp này. ta sẽ thấy trên màn hình xuất hiện chữ Chao cadviet.

     

    Đi sâu vào phân tích lệnh, ta thấy: mỗi hàm của cad được bắt đầu bằng dấu '(' ngay sau đó là tên hàm, tiếp đến là thông số của hàm (có thể có, có thể không có) và kết thúc bằng dấu ')' Trong trường hợp này princ là tên hàm, "\nChao cadviet" là tham số của hàm princ.

     

    Trong hai câu lệnh gọi hàm vừa rồi, câu thứ nhất là để viết chữ ra màn hình text, câu lệnh thứ 2 dùng để ẩn kết thúc mà không hiển thị thêm gì cả. Nếu thiếu câu lệnh thứ 2, bạn sẽ nhìn thấy 'Chao cadviet"\nChao cadviet"' trên màn hình, trong đó "\nChao cadviet" là kết quả của hàm (princ "\nChao cadviet").

     

    Hãy tạo một file mới và save nó với tên hoclisp.lsp.

    (princ "\nChao cadviet")

    (princ)

    Đây là đoạn mã đơn giản nhất của AutoLisp nhằm viết ra một dòng 'Chao cadviet' trên màn hình nhập dữ liệu của autocad. để sử dụng, appload file hoclisp.lsp này. ta sẽ thấy trên màn hình xuất hiện chữ Chao cadviet.

     

    Đi sâu vào phân tích lệnh, ta thấy: mỗi hàm của cad được bắt đầu bằng dấu '(' ngay sau đó là tên hàm, tiếp đến là thông số của hàm (có thể có, có thể không có) và kết thúc bằng dấu ')' Trong trường hợp này princ là tên hàm, "\nChao cadviet" là tham số của hàm princ.

     

    Trong hai câu lệnh gọi hàm vừa rồi, câu thứ nhất là để viết chữ ra màn hình text, câu lệnh thứ 2 dùng để ẩn kết thúc mà không hiển thị thêm gì cả. Nếu thiếu câu lệnh thứ 2, bạn sẽ nhìn thấy 'Chao cadviet"\nChao cadviet"' trên màn hình, trong đó "\nChao cadviet" là kết quả của hàm (princ "\nChao cadviet").

    Câu lệnh thứ 2 dùng để ẩn kết thúc là câu nào ạ? 


  4. Vào lúc 6/7/2020 tại 10:51, huunhantvxdts đã nói:

    Bạn nghĩ sao khi vẽ trắc dọc, trắc ngang xong rồi sẽ thiết kế trực tiếp trên trắc ngang luôn sau đó cập nhật qua trắc dọc??

    em thấy cũng ổn! nhu cầu của em cũng đơn giản: 

    1- Vẽ hiện trạng mặt cắt ngang kênh.

    2- Áp mặt cắt thiết kế vào.

    3- Thay đổi cao độ, hệ số máy, lưu không cho phù hợp.

    4- Vẽ mặt cắt dọc.

    5- Xuất mặt cắt ngang, mặt cắt dọc.

    6- xuất bản khối lượng bằng excel để làm dự toán (nhập tay từng số thì mệt lắm).


  5. 16 phút trước, DuongTrungHuy đã nói:

    Chào buổi sáng nhé!

     

    Vấn đề Bạn yêu cầu hơi lớn (mình tưởng chỉ vẽ cắt dọc ngang thôi mà). Bài toán thiết kế này là vỡ lòng cho ae thiết kế thủy lợi đó Bạn. Vấn đề này mình viết rất nhiều phần mềm để xử lý cho mỗi trường hợp khác nhau.

    Đưa lưa đây cho Bạn xem cách xử lý của mình ứng với 1 mặt cắt của Bạn. Các mặt cắt tiếp sau chỉ là vòng lặp. Số liệu đưa vào dùng bảng tính mình đã lập sẵn bằng Excel đó.

     

    Thân chào!

     

     

     

    0 Model (1).jpg

    Dạ, em cảm ơn anh Huy!

    Tụi em thiết kế nạo vét kênh, từ kênh hiện trạng, nên đòi hỏi số lượng lớn mặt cắt, chỉnh sửa nhanh trực quan nên ứng dụng mà em đang dùng tỏ ra rất hiệu quả nên anh em trong nghề ở Trà Vinh rất thích! Nếu gặp thiết kế bờ bao (đê) thì còn tỏ ra hữu dụng hơn, vì bờ bao thì mặt cắt nhiều vô số!

    Nếu như nói vậy thì chắc em bó tay rồi! hóa ra cái anh đồng nghiệp ở công ty của em giỏi không ngờ! mà làm việc ngồi kế bên, cái gì cũng tỏ ra không biết, hỏi liên tục riết rồi em muốn bị stress luôn! thiệt tình là....chân nhân bất lộ tướng mà!

     

    • Like 1

  6. 3 phút trước, huunhantvxdts đã nói:

    Hình như mương đất cũng có đó bạn nhé

    Ước gì các bạn có ai biết cái mấu chốt của chương trình thiết kế kênh của mình nhỉ. Anh đồng nghiệp mình tìm ra cái mấu chốt của vấn đề. ảnh có thể copy đoạn mã gì đó bên máy cũ (chắc trong file cài đặt của Autocad 2004), sau đó cài qua máy mới trên nền Autocad 2004 và xài okay. Tất nhiên là không chia sẻ cho mình, ảnh chỉ giữ riêng cho bản thân xài thôi. nhưng vấn đề ở đây là ảnh cần phải biết máy sẽ cài sử dụng là 64 bit hay là 32 bit nữa. Mình thì không biết về lập trình nên ko biết đoạn mã gì đó nó ở đâu hoặc can thiệp bằng cách nào. Có bạn nào ở gần Trà Vinh hay Sài Gòn không? có ai muốn thử tài năng của mình không? mình sẵn sàng mang máy lên để các bạn nghiên cứu.


  7. 5 giờ trước, huunhantvxdts đã nói:

    Bạn nên liên hệ với tác giả đặt vấn đề đổi máy xem sao. Chứ đầu tư để viết 1 ứng dụng như của bạn không chỉ biết về lập trình mà còn phải am hiểu về lĩnh vực thủy lợi nữa. Mình thấy cái này cũng hay. Bạn liên hệ xem thế nào

    https://www.facebook.com/Kenhbetong/videos/1115645912160676

    Cảm ơn bạn, mình sẽ xem! nhưng công trình của mình thiết kế là kênh đất thôi. kênh bê tông là một lĩnh vực khác nữa!

     


  8. 6 phút trước, DuongTrungHuy đã nói:

    À mình vừa xem qua File. Như vậy file số liệu để vẽ là đuôi txt hay đuôi htr.

     

    Bản vẽ này hình như là đã có chương trình thiết kế chạy ra khối lượng đào đắp kênh (bờ bao) luôn, chứ ko đơn thuần là vẽ trắc dọc ngang hiện trạng hở Bạn.

     

    Để viết chương trình thiết kế thì bài toán hơi lớn đó.

     

    Chào nhé!

    chào bạn!

    1- File để chạy chương trình là đuôi txt

    2- Đuôi .htr là file số liệu hiện trạng (xuất ngược ra để mình làm hồ sơ sau khi đã nhập tay trực tiếp lên phần mềm).

    3- Đuôi .ddd chính là file khối lượng sau khi mình thiết kế, xuất ra để làm hồ sơ.

    4- File dwg (MCN và MCD) cũng là file được xuất ra sau khi chạy chương trình.

    Kết lại, tất cả các file bạn xem đều được xuất ra sau khi nhập tay, nhìn và chỉnh sửa mcn một cách trực quan trên phần mềm.

    Riêng file có đuôi .txt thì như thế này, nếu mai mốt mình có con kênh khác cần thiết kế, mình chỉ cần copy file có đuôi txt là được, các file khác khi mình chạy chương trình nó sẽ tự xuất hiện (dwg thì phải nhấn lệnh xuất).

    Bạn hãy mở youtube này để xem nó hoạt động dùm mình nhé

     


  9. 3 giờ trước, DuongTrungHuy đã nói:

    Cái này không khó đâu Bạn. Bạn cho mình 1 file số liệu và file kết quả sau khi chạy chương trình ứng với file số liệu đó;

    Mình sẽ giúp cho nhé!

     

    Chào.

    Chào bạn DuongTrungHuy!

    Xin cảm ơn bạn đã ngỏ ý giúp mình!

    1- Về đầu vào: Mình nhập tay trực tiếp lên phần mềm, chỉnh sửa trực quang mặt cắt ngang.

    2- Đầu ra: sau khi "xuất kết quả": đầu ra sẽ bao gồm MCN và MCD dạng file dwg và một số file khác.

    3- File chính để mở phần mềm dạng .txt

    Nếu có thể kết bạn zalo với DuongTrungHuy thì tốt quá!

    Xin cảm ơn bạn!

    email: nguyenquockhai81@gmail.com

    zalo: 0969.151181

     

    xin giai nen.rar


  10. Xin chào các anh, các bạn!

    Mình là thành viên mới vừa tham gia diễn đàn,  hy vọng có thể cùng chia sẻ với các anh điều gì đó về autocad.

    Về ý của bạn thanhmon2009 vẽ mặc cắt ngang, mình cũng là dân thủy lợi, chuyên thiết kế nạo vét kênh hay làm bờ bao. có một ứng dụng nhỏ được mua bản quyền và người ta cài vào autocad, khi sử dụng ứng dụng này thì việc đầu tiên là mở autocad lên, sau đó gỏ lệnh vào dòng lệnh của autocad, lúc này việc vẽ mặt cắt ngang là cực kỳ tiện lợi! nó sẽ tự kết nối các mặt cắt ngang lại và xuất luôn ra mặt cắt dọc.

    Bất lợi là mình không biết làm thế nào để xxx nó để có thể sử dụng qua máy khác, lý do máy bản quyền đã cũ và gần hỏng! Theo mình trao đổi với một số anh em bên IT thì đặc tính của phần mềm này như sau:

    1-Chỉ là một cài đặt nhỏ cài vào autocad (addin hay addon gì đó mình không biết).

    2-Miễn biết được đoạn mã đã được cài vào autocad là có thể sử dụng nó để cài qua máy khác để sử dụng.

    3- Ví dụ hiện tại nó chạy trên nền autocad 2004 thì trước tiên mình phải cài cad 2004, sau đó phải biết là máy 32 bit hay 64 bit gì đó....

    4-Hiện mình chỉ có file ghost của máy cũ có ứng dụng này. bạn nào hiểu về lập trình trên autocad xin nhờ các bạn chia sẻ với!

    Rất vui được kết bạn và trao đổi với các bạn qua zalo 0969.151181

     

    Xin chân thành cảm ơn!

×