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

VUVUZELA

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

    210
  • Đã tham gia

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

  • Ngày trúng

    4

Bài đăng được đăng bởi VUVUZELA


  1. Phần mềm Phân lớp đất đắp PRO với các thao tác, nhập số liệu đơn giản mà số liệu chính xác, hiệu quả phù hợp với mọi phần mềm thiết kế đường như VNRoad, ADS, Nova ... Đặc biệt chạy tự động được trên các mặt cắt ngang phức tạp mà các phần mềm khác phải chạy thủ công :D
    https://youtu.be/kIjNj_cKmVk
    https://www.facebook.com/Ph%C3%A2n-L%E1%BB%9Bp-%C4%90%E1%BA%A5t-%C4%90%E1%BA%AFp-PRO-1289457534452064/

    • Vote tăng 1
    • Vote giảm 1

  2. Gửi bạn

     

    (defun c:fl (/)

    (print "\nChon LEADER de chuyen layer ")

    (setq ss (ssget '((-4 . "<AND") (0 . "LEADER") (-4 . "AND>"))) ;_ ssget

    ) ;_ setq

    (setq ent (entget (car (entsel "\nChon 1 Layer de Set Current: "))) ;_ entget

    ) ;_ setq

    (if ent

    (progn (setq lay (cdr (assoc 8 ent)))

    (command "change" ss "" "p" "LA" lay "")

    (print (strcat "\nDa chuyen "

    (itoa (sslength ss))

    " doi tuong LEADRER ve layer : "

    lay

    ) ;_ strcat

    ) ;_ print

    ) ;_ progn

    ) ;_ if

    )

    • Vote tăng 1

  3. 1. Lệnh tính biểu thức trong AutoCad đơn giản, gọn nhẹ

    + Lệnh : BT

    + Quét các TEXT trong cad cần tính +

    + Nhập biểu thức cần tính : +1.50 ; -5; / 95.36; * 1.0 (lưu ý lệnh này sẽ tự động cập nhật số lẻ theo biểu thức bạn nhập. Ví dụ : + 1.50 thì sẽ làm tròn 2 số lẻ phía sau hoặc *1.0 sẽ làm tròn 1 số lẻ)

    Câu lệnh như sau :

     

    (vl-load-com)

    (defun C:bt (/)

     (setvar "cmdecho" 0)

     (setq ss1 nil

           ss1 (ssget '((-4 . "<AND") (0 . "TEXT") (-4 . "AND>")))

           ss  (acet-ss-to-list ss1)

     ) ;_  setq

     (setq bt (getstring "\n Nhap bieu thuc can tinh :"))

     (setq toan (substr bt 1 1)

           num  (distof (substr bt 2 (strlen bt)))

     ) ;_  setq

     (setq cal (cond ((= toan "+") +)

                     ((= toan "-") -)

                     ((= toan "*") *)

                     ((= toan "/") /)

               ) ;_  cond

     ) ;_  setq

     (if (> (distof bt) 0)

      (setq cal +

            num (distof bt)

      ) ;_  setq

     ) ;_  if

     (setq cod (vl-string-search "." bt))

     (if (/= cod nil)

      (setq sole (- (strlen bt) cod 1))

      (setq sole 0)

     ) ;_  if

     (foreach ent ss

      (setq elist (entget ent))

      (entmod (subst (cons 1 (rtos (cal (atof (cdr (assoc 1 elist))) num) 2 sole))

                     (assoc 1 elist)

                     elist

              ) ;_  subst

      ) ;_  entmod

     ) ;_  foreach

     (princ)

    ) ;_  defun


  4. Nếu mình đoán không nhầm thì bạn đang làm hồ sơ hoàn công, đưa cao độ địa chất của từng lớp vào MCN chi tiết phải không?

    Nếu mình viết pm chạy trong vòng 3 nốt nhạc thì mình sẽ làm như vầy :

    - Nếu mình làm thì chỉ cần nhập số liệu từng cọc cao độ trước, rồi chọn file cần vẽ hoàn công

    - PM sẽ tự động nhận diện toàn bộ hàng ngàn MCN, đưa lớp địa chất vào

    - Tự động HATCH, tính diện tích hàng ngàn MCN với từng lớp địa chất

    - Tự động xuất ra bảng Excel ==> tính khối lượng tổng và thanh toán luôn

    Chứ với hàng ngàn MCN như thế, mỗi MCN 2 command+pan zoom nữa thì ra hàng chục ngàn câu lệnh, dễ sai sót

    Ý tưởng của mình là thế, các bác chém hoặc ném đá nhẹ tay nhé :)))


  5. CHươn trình phân lớp đất đắp mới cập nhật thêm các phiên bản mới chạy tự động :

    - Phân lớp đất đắp chạy tự động trên nền pm Thiết kế đường ADS

    https://www.facebook.com/video.php?v=355611737896876

    - Phân lớp đất đắp chạy tự động trên nền pm Thiết kế đường VNROAD

    https://www.facebook.com/video.php?v=355610211230362

    - Phân lớp đất đắp chạy tự động trên nền pm Thiết kế đường NOVA (FULL version)

    https://www.facebook.com/video.php?v=354018984722818

    Và tự động liên kết tạo các biểu mẫu nghiệm thu theo yêu cầu 


  6. Mình có chương trình phân lớp đất đắp trong vòng 3 nốt nhạc, ban nào cần thì liên hệ nhé  :)

    Chương trình tích hợp với các tính năng như sau :.

    - Phân lớp với chiều dày tùy ý và tính diện tích đắp từng lớp

    - Xuất ra biên bản nghiệm thu tự động

    - Tạo điểm thí nghiệm đục độ chặt K95 ngẫu nhiên

    - Xuất ra bình đồ vị trí thí nghiệm độ chặt K95 từng lớp

    - Tạo khung in bình đồ và in tự động

    - Ngoài ra còn các tính năng khác như : phân lớp đắt lề, đắp K98, CPĐD, BTN, tính diện tích đào đắp theo từng lớp địa chất ....

    - Tạo biên bản nghiệm thu tự động luôn

     

    • Vote tăng 1

  7. Vụ này thì thuật toán sẽ viết như sau :

    - Tìm điểm giữa của 4 điểm,  giống như trọng tâm ta có được điểm tâm (pt)

    - Sắp xếp thứ tự 4 điểm chọn theo góc quay từ nhở đến lớn với trục quay ở điểm tâm (pt )

    - Kiểm tra góc giữa 4 điểm đã sắp xếp trên có = 90 độ hay không nếu đúng hết thì trả về T

    • Vote tăng 1

  8. Bạn có thể download chương trình này về dùng thử

    http://www.mediafire.com/download/n4647119m77nd31/Nutgiaothong+V3.1+%28DEMO%29.rar

    Chạy setup, đánh pass : LECUONG

    Vào Autocad load file *.VLX ở thư mục cài đặt lên thì sẽ có MENU load tự động trên nền AUtocad

    Version mới này có cập nhật thêm tính năng vẽ đường đồng mức trong nút và giả lập Nova trên các phần mềm khác như ADS, Addesign ...

    Có thể xem file hướng dẫn sử dụng PDF ở thư mục cài đặt nhé


  9. Bạn có thể download chương trình này về dùng thử

    http://www.mediafire.com/download/a9whuo8b9p2aum6/Khungten+V3.1+%28DEMO%29.rar

    Chạy setup, đánh pass : LECUONG

    Vào Autocad load file *.VLX ở thư mục cài đặt lên thì sẽ có MENU load tự động trên nền AUtocad

    Lệnh : BATBD sẽ đánh batter theo yêu cầu của bạn như trên

    Có thể xem file hướng dẫn sử dụng PDF ở thư mục cài đặt nhé

    • Vote giảm 1

  10. Vì có chỗ góc là 270độ, 90độ nên mình viết như vậy.

    Sau khi nghe ý kiến các bác em đã Code lại :

    (defun c:loc ()
    (command "undo" "be")
    (setq oldos (getvar "osmode"))
    (setvar "osmode" 0)
    (setq ss (ssget "x" (list (cons 0 "TEXT") (cons 8 "ENTTNTHIETKE")))
    k 0
    )
    (while (< k (sslength ss))
    (setq name (ssname ss k)
    ent1 (entget name)
    p1 (cdr (assoc 10 ent1))
    goc (cdr (assoc 50 ent1))
    nd (cdr (assoc 1 ent1))
    )
    (entmod (setq ent1 (subst (cons 41 1) (assoc 41 ent1) ent1)))
    (if (and (eq nd "0%") (eq goc (/ (* 0 pi) 2)))
    (command "erase" (ssname ss k) "")
    )
    (setq k (1+ k))
    )
    (setvar "osmode" oldos)
    (command "undo" "e")
    )

    Nếu em muốn xóa cái mũi tên phía dưới 0% thì làm như nào ạ.Em mới code nên vấn đề này hơi khó.

    Mong các bác code giúp

    Thân !

     

    Bạn cứ ssget lọc các mũi tên theo layer ra, thực hiện vòng lặp

    Lấy tọa độ 2 diểm của leader (POLYLINE) và kiểm tra nếu góc = 0 độ (hoặc = pi()) thì xóa

    :rolleyes:


  11. - Các bác cho em hỏi: lisp ns.lsp trên có thể cải tiến để mình chọn toàn bộ tập hợp điểm, lisp sẽ tự chọn 3 điểm để nội suy cao độ hợp lý. Kết qủa sẽ được thể hiện trên bản vẽ cad luôn, và lisp chỉ thoát lệnh khi mình cần. Mời các bác dòm ngó thử tí nhé

    - Nếu không được thì cho em hỏi có lisp nào lấy được cao độ tự nhiên của nova thông qua lệnh CDTN, và thể hiện cao độ lên trên bản vẽ cad được không???

     

    Xài Topo đi bạn : nội suy cao độ tại bất kỳ vị trí nào cho khoẻ


  12. Tue_NV cũng biết cách quản lý các hàm, các file Lisp theo Project. Nhưng kì thực là nghe bạn Nataca nói là viết chương trình theo Project thì chưa được biết? Cách thức viết xong rồi, sau đó làm thế nào để dịch thành *.fas?

    Rất mong bạn Nataca, bác VUVUZELA và các bác giải đáp giúp?

    Cảm ơn rất nhiều :wub:

     

    hi

    Theo sự hiểu biết của mình sau khi đã thử nghiệm rồi như sau :

    1. Vô Vlide của AutoCad 2004 trở lên bạn sẽ thấy mục Project tạo New (theo ý của mình thì có thể hãng Autodesk tạo các Project này nhằm mục đích giúp cho ng.dùng tạo các modul riêng cho từng dự án thiết kế)

    2. Load các file *.lsp để tạo ra file *.fas (tưong tự như tạo file *.vlx)

    3. Đặc biệt thằng Project có cho ng.dùng các cách thức lựa chọn Build Opitions với Compilation Mode khác nhau mà cách thức lựa chọn thế nào để chống decompiler hiệu quả thì mình chưa tìm ra (cái này chắc phải hỏi thêm bác natca và các cao thủ khác thôi )

    ...

    4. Có được file *.fas này rồi thì mính có thể tạo file *.vlx bằng cách kết hợp file *.fas này (có trong mục lựa chọn Complied LISP file (*.fas) phần dịch từ *.lsp ra file *.vlx) kết hợp với hộp thoại *.dcl ==> file *.vlx hoàn hảo, bảo mật cao

     

    :rolleyes:

    • Vote tăng 1

  13. mình cần 1 lisp sắp lại các block thuộc tính cùng kí hiệu như trong hình vẽ minh hoạ, các bác giúp mình với. thank!

    http://www.cadviet.com/upfiles/3/tao_lisp.dwg

     

    Ac, hỏi mà cũng nhát ghi chú Tiếng Việt trong bản vẽ, lười ghi rõ yêu cầu của mình nữa thì chắc là làm việc cũng "lười suy nghĩ" ==> dâng cơm tận miệng mới chịu ăn í nhỉ ?

    bó tay.com lun

    :lol:

×