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

HoaVien

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

    51
  • Đã tham gia

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

  • Ngày trúng

    1

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


  1. Mình muốn hỏi các bạn một tý.

    Vốn là trong lisp mình có dùng lệnh CAL. Nếu không load trước file chứa lệnh này nó sẽ báo không biết lệnh.

    Ví dụ ngày xưa dùng cad2002 mình làm thế này chạy tốt

     

    (if (and (null (type cal)) (findfile "geomcal.arx")) (arxload (findfile "geomcal.arx")))

     

    Nhưng khi lên cad2013 nó dấu lệnh cal ở đâu không rõ. Các bạn có thể chỉ cho mình cách load lệnh này một cách nhanh gọn nhẹ nhé.

    Cám ơn các bạn nhiều

     "geomcal.arx" được đổi thành  "geomcal.crx"

     

     

    (or (and (setq tmp (findfile "geomcal.arx")) (arxload tmp nil))
          (and (setq tmp (findfile "geomcal.crx")) (arxload tmp nil))
    )
    • Vote tăng 1

  2. Chào anh em trên diễn đàn

    Mình hiện đang rất vất vả nhập dữ liệu từ Excel vào 1 chương trình được viết trên LISP mình ko biết cách nào để tự động hóa cái khâu thủ công này ko, mình đã nghiên cứu về VBA nhưng ko rành cho lắm mà cũng ko thấy tài liệu nào nói về vấn đề này. Các bạn có cách nào viết trên VBA để giải quyết vấn đề này ko. Hoặc có đoạn code mẫu để mình nghiên cứu được ko  

    VD : 

    Mình có các ô dữ liệu trên Excel như bên dưới rồi copy dữ liệu từng ô vào chương trình của mình được viết trên LISP chạy trên nền AutoCAD

     

     

     

     

    Mình đã xem cái mục đó rồi bạn nhưng nó ko đúng mục đích của mình, mình muốn code trong excel chạy gọi chương trình trong AutoCAD rồi nhập các số liệu từ excel vào chương trình nền như trong hình. Vì mình ko muốn thêm code lisp vào cái chương trình trong cad muốn viết 1 cái code vba ở ngoài chạy trên excel inpull các cell dữ liệu vào chương trình thiết kế 

     

    Tiền hậu bất nhất !


  3. Có mem nào thêm tính năng cho lisp này giúp mình được không.

     

    1. Khi có block mới thêm vào, thư viện tự sắp sếp hiển thị theo thứ tự tên block. Hiện tại nó thêm vào cuối, phải sắp xếp thủ công.

    2. Chèn các block trong thư viện ra theo thứ tự block name, điểm chèn các block cách dọc Amm, cách ngang Bmm ( Chèn theo bảng ) - Chèn thêm text là tên block bên dưới.

         Hoặc có thể làm riêng một lisp mới với tính năng: Chèn toàn bộ block lên bản vẽ theo thứ tự, kèm tên block.

     

    Thanks all

    Cadviet có nhiều "pro" viết được lisp này.

    Nhưng, .... đọc hoài không hiểu đề.

    Yêu cầu cán bộ ra đề giải thích chi tiết hơn.


  4.  

    Giới thiệu các bác phần mềm sắp lỗ khuôn ép đùn mình viết bằng VB+C# nhé.
    Trong đó cốt lõi vẫn là giao diện cad của riêng mình, thực hiện được các lệnh cơ bản như acad, hỗ trợ nhập liệu từ bàn phím...
     

     

    Lâu rồi mới thấy bác trở lại và lợi hại hơn xưa !

    Không có liên quan đến chuyên môn của mình, nhưng nói chung là mất rất nhiều công sức để viết.


  5. Tôi nghĩ 99% ông Nad SK và quocmanh04tt là 1. Chỉ quảng cáo thương hiệu thôi.

    Nói chung là "có nhiều uẩn khúc" ...........

    - một ông thì lo chuyện chọc ... (hack) cùng lúc với việc kêu gọi mọi người "đóng góp phát triển phần mềm".

    - ông kia thì bỏ mặc, thậm chí có vẻ như muốn hợp tác với việc .... chọc soft của mình.

     

    Thôi kệ thiên hạ!

    Nhưng cũng phải cám ơn mấy ông chuyên "chọc nguáy", nhờ họ chúng ta mới có Win + Cad miên phí.


  6. không có thủ thuật nhỏ cho cái đấy đâu bạn ạ. Mình cũng nghiên cứu kỹ ròi mới viết ra đc cái chương trình đấy vài lầm thử đi đường tắt tưởng làm xong đến nơi rồi nhưng cuối cùng lại hỏng

    @ 506509: Lâu rồi CadViet lại xuất hiện1 thành viên rất là ... tự tin!

     

    @MBinh: Không hiểu rõ ý bạn, nhưng cũng có 1 đề xuất là sử dụng chế độ bắt điểm Nearest.

    - gõ lệnh dsettings và làm như hình đính kèm.

    oSnap.png


  7. Tham gia CadViet đc 4 năm rồi. nhưng vẫn còn ko biết cách post bài cho dễ hiểu.

    (Các Lisper chán cái cảnh phải năn nỉ xin từng số liệu để viết)

     

    Vấn đề không phải là do cái hình ??? 

    Qui luật vẽ thế nào ?

     - t/hợp kh/cách điểm 1 tới điểm 2 = 100 thì các giá trị của mũi tên tương ứng là bao nhiêu ?

     - t/hợp kh/cách điểm 1 tới điểm 2 = 200 thì các giá trị của mũi tên tương ứng là bao nhiêu ?

     - t/hợp kh/cách điểm 1 tới điểm 2 = 500 thì các giá trị của mũi tên tương ứng là bao nhiêu ?

    ...

     - t/hợp kh/cách điểm 1 tới điểm 2 = 800 thì các giá trị của mũi tên tương ứng là bao nhiêu ?

    ...


  8. Hề hề hề,

    Xin hỏi các bác một vấn đề như sau.

    Trong quá trình sử dụng lisp, tôi có gặp một vấn đề là tìm số lần đệ quy để thực hiện được nhiệm vụ yêu cầu. Vì vậy tôi có dùng biến đếm số lần đệ quy, Tuy nhiên kết quả ra rất không đúng. Mày mò mãi mới phát hiện ra rằng cứ mỗi lần thực hiện đệ quy thì cái biến đếm này tăng lên với giá trị 2^n (với n là số lần thực hiện đệ quy).

    Thực lòng tôi không hiểu sao lại như vậy nên rất mong các bác có thể giải đáp vì sao lại như vậy.

    Bác cho em xem tí ... ti code.

    Em chưa thấy là em chưa tin ạ,

    cái zụ này người trong cuộc thường không tĩnh táo cho lắm, lúc nào cũng nói là "em chả làm gì cả mà nó cứ ...gây hậu quả nghiêm trọng".


  9. Với LISP này thì tôi góp ý về tối ưu chiều dài code

    Nhiều người (trong đó có cả cử nhân tin học hệ chính quy) hay lập trình kiểu copy - paste.

    Lập trình kiểu này có ưu điểm là ít phải đầu tư chất xám, nhưng có 2 nhược điểm chính:

    - Code dài

    - Khi phát hiện lỗi, phải sửa nhiều chỗ => dễ sửa thiếu, type nhầm.

    Nhầm lẫn này đôi khi khó phát hiện vì khi test không xảy ra trường hợp đó.

    Ở bài này, nếu đặt biến phụ thì có thể chỉ dùng 1 vòng while ngoài cond.

    Ngoài ra, nếu có nhiều trường hợp theo quy luật, có thể dùng hàm khác thay cho cond.

    VD trong bài này là A, B, C không nhiều lắm, nhưng nếu từ A - Z thì cond quá dài.

    Ý, nhột quá, Bác đừng "châm chọc" hàng xóm của bác nhé.


  10. Trước mình cũng thích học chứ, cũng mò vào topic dạy lisp rồi đó nhưng mà nhiều quá, thời gian lại không có. hiện tại mình còn đang phải học revit, adap, ko có thời gian, mà học lisp chắc mất cả năm mất. do đó mới nhờ các bạn. mà có phải nghĩ yêu cầu là dễ đâu, phải làm, va vấp mới thấy bất cập, mới thấy mất thời gian thì mới nghĩ dc yêu cầu chứ. mình nhờ nhưng chắc chắn nhiều người cũng dùng được, mọi người chưa nghĩ ra thôi, cứ theo lối mòn thôi.

    mong các bạn giúp đỡ. mình cám ơn

    mem này nói cũng có lý đấy chứ,

    một yêu cầu xuất phát từ việc phải qua biết bao nhiêu là va vấp. bầm dập, thời gian .....

    suy nghĩ nát ... "cái trái nho" mới ra

    cái yêu cầu giúp cho anh em ... cách thoát khỏi  ... lối mòn thì đáng trân trọng lắm chứ!

     

    PS :

    1- proconeng gửi ý tưởng này cho AutoDesk càng sớm càng tốt, họ nhận được chắc là mùng lắm, không khéo lại thưởng cho 1 bộ AutoCad mới ra lò giá trị hàng nghìn mĩ kim chứ lị. (nhắc lại : lộn tiệm rùi, gửi qua CadMỹ nhé)

    2- Để tránh kiện tụng sau này, tôi yêu cầu Anh em viết Lisp CadViệt cũng cần quan tâm trả phí bản quyền cho "ý tưởng của người yêu cầu" nhé. (nhớ trả phí ý tưởng này cho tôi luôn)

    • Vote giảm 1

  11. Vấn đề của em là:

    - Cọc có thể bố trí trên đường tròn hoặc lưới ô vuông

    - Cọc đánh số theo thứ tự nhất định, cụ thể là bố trí tròn thì theo chiều kim đồng hồ, từ ngoài vào trong. Bố trí lưới ô vuông thì từ trái qua phải, trên xuống dưới

    - Sau khi đánh số xuất ra bảng toạ độ theo số thứ tự cọc

    (ví dụ các anh có thể xem trong bản vẽ đính kèm)

     

    Các phương án em đã thử:

    - ATT block , array hướng tâm , edit ATT => ATT xoay theo block

    - Array block k có ATT, add text tự đếm số bằng lisp => có thể làm được với số cọc khoảng 200, lệch vị trí khoảng 2 lần. Số lượng cọc tối đa phải đánh số là trên 1000 cọc 1 bản vẽ, tổng cộng 30 bản vẽ =>mất quá nhiều thời gian và phải tập trung để không sót cọc nào

    - Array block, add dtext thủ công, tcount. Tương tự cũng mất chừng đó thời gian để add text.

    Sau khi đánh số xong,dùng lisp xuất toạ độ để xuất ra,nhưng phải tự add số thứ tự trong file excel. Nếu bỏ qua mất 1 cọc thì đúng là thảm hoạ.

     

    Kết luận là em mong được các anh giúp viết một lisp với mục đích như sau:

    - Array circular được block có attribute nhưng text luôn ở góc 0 độ so với phương ngang và vị trí tương đối cố định so với tâm đường tròn

    - Tcount áp dụng được cho attribute block chọn bằng cách quick select.

    - Xuất toạ độ tâm cọc (có thể chọn luôn điểm tham chiếu của block = tâm cọc ) cùng với giá trị trong Attribute ( để không nhầm số hiệu cọc)

    Em xin cảm ơn trước và rất mong được giúp đỡ.

    Trân trọng,

    - file Cad chả có block nào cả, làm sao Insert được ?

    - file tọa độ tâm cọc định dạng thế nào ?

    Nói chung là với số liệu sơ sài thế này thì sau vài ngày bài này sẽ trôi .. ra biển cả thôi.

    • Vote giảm 1
×