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

alisp

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

    204
  • Đã tham gia

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

  • Ngày trúng

    25

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


  1. Đây bạn, cái này chắc dễ quá chẳng ai quan tâm làm dùm.

    (defun c:XX ()
      (setq sset (ssget '((-4 . "<OR")(0 . "POINT")
                          (0 . "LWPOLYLINE")(-4 . "OR>"))))
      (if sset
        (progn
          (setq itm 0 num (sslength sset))
          (setq fn (getfiled "Point Export File" "" "txt" 1))
          (if (/= fn nil)
            (progn
              (setq fh (open fn "w"))
              (while (< itm num)
                (setq hnd (ssname sset itm))
                (setq ent (entget hnd))
                (setq obj (cdr (assoc 0 ent)))
                (cond
                  ((= obj "POINT")
                    (setq pnt (cdr (assoc 10 ent)))
                    (princ (strcat (rtos (car pnt) 2 2) " "
                                   (rtos (cadr pnt) 2 2) " "
                                   (rtos (caddr pnt) 2 2)) fh)
                    (princ "\n" fh)
                  )
                  ((= obj "LWPOLYLINE")
                    (if (= (cdr (assoc 38 ent)) nil)
                      (setq elv 0.0)
                      (setq elv (cdr (assoc 38 ent)))
                    ) 
                                    (setq n 0 nn nil)
                    (foreach rec ent
                      (if (= (car rec) 10)
                        (progn
                          (setq pnt (cdr rec))                                            
                          (princ (setq n0 (strcat (rtos (cadr pnt) 2 4) " " (rtos (car pnt) 2 4))) fh)
                                                (if (= n 0)    (setq nn n0 n 1))
                          (princ "\n" fh)                                                                        
                        )
                      )
                    )
                                     (if nn (princ nn fh))
                                     (princ "\n" fh)
                  )
                  (t nil)
                )
                (setq itm (1+ itm))
              )
              (close fh)
            )
          )
        )
      )
      (princ)
    )

    • Like 1

  2. Mạn phép có ý kiến xíu:

    1-Không biết bạn làm công việc gì mà có vài ngàn tam giác phải vẽ? 

    2- Cho dù có lisp chăng nữa mà mỗi tg phải nhập 3 số liệu, thêm vi trí đặt nữa thì biết đến bao giờ mới vẽ xong?

    3- Không phải tg nào cũng có cạnh nằm ngang mà còn phải xoay nữa thì thời gian tốn thêm bao nhiêu?

    Có vẻ công việc này khó khả thi lắm nhỉ!!

    • Like 2

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

    Chào bác Doan Van Ha!

     

    Bác cho hỏi có hàm tìm điểm xa nhất (thay vì gần nhất đã có vlax-curve-getClosestPointTo) không nhỉ.

    Huy đã viết thuật toán cho hàm này, :) nhưng ko dám đưa lên, sợ lại bị chê là thích đi xe đạp :)

     

    Cán ơn Bác nhé! 

      Hàm xa nhất chưa có đâu bác, vì vlisp không biết hàm đó dùng vào việc gì, bác cứ yên tâm đưa lên, nếu người ta cười thì chắc chỉ nói bác thích đi xe tăng thôi mà, có gì đâu!! Hehe!!

      Nói vui thôi, không có ý gì đâu.

    • Like 1

  4. 2 giờ trước, Lethuongtri đã nói:

    Cảm ơn bạn alips nha , mình chỉnh rồi mà ko dc.

     

    Cảm ơn bạn NTHAHT nhiều nha, mình làm theo cách của bạn và đã ok rồi .

     

    Tuy nhiên mình không hiểu cái cách chuyển đổi từ 長孔-> \U+9577\U+5B54 là theo quy tắc hay bản mã nào vậy ạ. Bạn có thể chỉ cho mình dc ko.

     

    Do đôi lúc mình còn có nhu cầu đánh một số text nhật khác vào autolips như センター hay ピッチ hay một số ký hiệu đặc biệt như θ ...vv

     

    Cảm ơn bạn nhiều lắm. 

    Đó là mã unicode, muốn biết chữ nào mã bao nhiêu thì dùng hàm unicode() trong excel. Tuy nhiên cách này thủ công quá, vài chữ thì được chứ nhiều thì khá phiền. Tôi thấy nếu trong file lsp đã hiện chữ nhật và trong cad cũng dùng font nhật thì sẽ hiện đúng thôi.


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

    thật sự hỏi các anh em cũng ngại lắm vì biết làm phiền các anh. thầy bảo tốt nhất là viết bằng c++, còn lisp là phương án dự phòng . còn robot không đọc được file text đâu anh ạ. robot chỉ đọc được file .nc

    lisp cho ra file text thì sẽ thêm 1 bước nữa là lấy dữ liệu file text cho sang file .nc còn c++ nó sẽ ra được file .nc ( đại loại là như vậy)

    còn chuyên ngành thì em học cơ điện tử anh ạ, trước giờ học nhiều về cơ khí vẽ vời tính toán các kiểu phải đến 80% có biết gì về C++ đâu anh, 

    còn thầy thì thấy có lisp rồi lại muốn có C++ kiểu càng mở rộng càng tốt ấy ạ

    Muốn có arx thì bắt buộc phải biết c++ thôi, chứ c# không ăn thua. Mà c++ ngay đến dân chuyên ngành CNTT còn lè lưỡi chứ huống gì dân tay ngang như bạn, chỉ có cách bạn nhờ dân chuyên viết dùm thôi.


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

    vâng em biết. mấy nay em đang tìm hiểu c# , visual studio objectarx . nhưng kiểu em ko biết mình có đang học cái để xử lí cái bài toán kia không

    Bác phat98 thật phiền, hồi trc có hỏi vụ c++ thì bác nói chỉ cần ra file txt có toạ độ góc là ok, cánh tay robot sẽ đọc file này rồi thi hành. Giờ thì thầy bắt viết c++ nên xin đổi. Nói thật chứ ở CV này kiếm người biết c++ đỏ con mắt không ra, chắc bác phải đi forum chuyên c++ nhờ thôi. Mà bác học ngành gì mà ông thầy chơi khó quá vậy?


  7. Tôi chỉ muốn đề nghị những người muốn post bài 2 ý như sau:

    1- Khi nhờ ai  viết cho cái lisp để làm 1 việc gì đó thì ít nhất cũng phải đưa 1 file cad lên để cho người muốn giúp có cơ sở để test cái lisp có phù hợp với những đối tượng trong đó hay không. Không lẽ lại bắt người viết tự tạo ra 1 file cad để test, rồi cái file tự tạo đó có phù hợp với file của người yêu cầu không, nếu không phải viết lại rất là phiền phức. Thấy nhiều bạn chỉ đưa yêu cầu với cái hình thôi thì người muốn giúp cũng thấy chán chẳng buồn giúp.

    2- Có nhiều người post bài giống như đánh đố người khác vậy, khi chưa ai giải đáp thì kêu gào thảm thiết, đến khi có người giải đáp đúng cái lỗi (mà có lẽ người hỏi đã biết rồi) thì họ im bặt, không 1 câu trả lời và dường như bỏ luôn topic đó. Các bạn đó phải hiểu là những người ở đây cũng phải đi làm ăn kiếm tiền, lúc rảnh rỗi mới vào forum xem, rảnh nữa mới trả lời câu hỏi. Cho nên đừng làm người khác mất thời gian với những câu đố mà bạn đã biết trước đáp án!!! Khi tham gia CV không ai bắt buộc bạn phải có topic mở hàng mới được tham gia, cho nên cái gì mình thật sự bế tắc thì hãy đem ra hỏi, còn cái gì mình có thể tìm trên gg được thì tìm trước, tránh làm mất thời gian của người khác.

    Cám ơn đã đọc tin.

×