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

(Yêu Cầu) lisp copy nội dung text trong một loạt dimenson...

Các bài được khuyến nghị

(setq x (cond ((getxxx))
     (x)
     (defaul-value)
     ))

ok rồi bạn. chỉnh cho mình in cái giá trị defaul lên dòng nhắc lệnh nhập x được không ông bạn? thank

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
(setq x (cond ((getint (strcat "\nSpecify a Value: <" (if x (itoa x) (itoa defaul-value))">  :")))
     (x)
     (defaul-value)
     ))

chưa ổn bạn ơi. mình chạy thử với biến số thực giá trị nhập lần sau không nhận thay thế giá trị nhận trước. 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
(setq x (cond ((getint (strcat "\nSpecify a Value: <" (if x (itoa x) (itoa defaul-value))">  :")))
     (x)
     (defaul-value)
     ))
Note: x phải là biến hệ thóngo

ok rồi cảm ơn nhé.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Hàm (defun LM:UnFormat ( str mtx / _replace rx ) ...

Đoạn này bị lỗi sao í người tuyết ôi :wub:  ... tiện thể giải thix cho Nhoc ý nghĩa luôn nha . Nhìn thấy kí hiệu ko choáng váng quá :wub:

 (foreach pair
                               '(
                                    ("\032"    . "\\\\\\\\")
                                    (" "       . "")
                                    (""      . "\\\\(\\\\[ACcFfHLlOopQTW]);]*;|\\\\[ACcFfHLlOopQTW]")
                                    ("$1$2/$3" . "([^\\\\])\\\\S([^;]*)[/#\\^]([^;]*);")
                                    ("$1$2"    . "\\\\(\\\\S)|[\\\\](})|}")
                                    ("$1"      . "[\\\\]({)|{")
                                )
                                (setq str (_replace (car pair) (cdr pair) str))
                            )
                            (if mtx
                                (_replace "\\\\" "" (_replace "" "(\\\\[ACcFfHLlOoPpQSTW])|({)|(})" str))
                                (_replace ""   "" str)
                            )
                        )
                    )
                )
            )
            (vlax-release-object rx)
            (if (null (vl-catch-all-error-p str))
                str
            )
        )
    )
)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Mình đã test thử và ko vấn đề gì, nếu bị lỗi thì vào trang này down LM:unformatstring

http://lee-mac.com/unformatstring.html

 

Môt số nguồn tham khảo:

 

https://msdn.microsoft.com/en-us/library/6wzad2b2(v=vs.85).aspx

 

http://www.theswamp.org/index.php?topic=36173.30

 

http://www.theswamp.org/index.php?topic=44243.5

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Ẹc :wacko: lỗi (màu đỏ) . Nhoc thường Test nhanh bằng cách copy Code trong thẻ code và bị lỗi khi xuất Text. Kiểm tra lại thì nghi là lỗi tại những kí hiệu lạ mà Nhoc bí :P . Snowman.hms có thể giải thích những kí hiệu cho Nhoc được ko?

Cho (màu đỏ) nhưng nó ko đỏ :wub: :

("$1"      . "\\\\(\\\\[ACcFfHLlOopQTW])|\\\\[ACcFfHLlOopQTW][^\\\\;]*;|\\\\[ACcFfHLlOopQTW]")

.....

(_replace "\\\\" "\032" (_replace "\\$1$2$3" "(\\\\[ACcFfHLlOoPpQSTW])|({)|(})" str))(_replace "\\"   "\032" str)
(foreach pair
                               '(
                                    ("\032"    . "\\\\\\\\")
                                    (" "       . "\\\\P|\\n|\\t")
                                    ("$1"      . "\\\\(\\\\[ACcFfHLlOopQTW])|\\\\[ACcFfHLlOopQTW][^\\\\;]*;|\\\\[ACcFfHLlOopQTW]")
                                    ("$1$2/$3" . "([^\\\\])\\\\S([^;]*)[/#\\^]([^;]*);")
                                    ("$1$2"    . "\\\\(\\\\S)|[\\\\](})|}")
                                    ("$1"      . "[\\\\]({)|{")
                                )
                                (setq str (_replace (car pair) (cdr pair) str))
                            )
                            (if mtx
                                (_replace "\\\\" "\032" (_replace "\\$1$2$3" "(\\\\[ACcFfHLlOoPpQSTW])|({)|(})" str))
                                (_replace "\\"   "\032" str)
                            )
                        )
                    )
                )
            )

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Các ký tự loằng ngoằng đó là "MText formatting codes" nhé :)

 

http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%202010%20User%20Documentation/index.html?url=WS1a9193826455f5ffa23ce210c4a30acaf-63b9.htm,topicNumber=d0e123454

 

PS: bạn cứ thử entget một mtext bất kỳ xem, sẽ thấy những ký tự đó ở (dxf 1 và/hoặc dxf 3)

 

Formatting%20Codes.png

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Các ký tự loằng ngoằng đó là "MText formatting codes" nhé :)

 

http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%202010%20User%20Documentation/index.html?url=WS1a9193826455f5ffa23ce210c4a30acaf-63b9.htm,topicNumber=d0e123454

 

PS: bạn cứ thử entget một mtext bất kỳ xem, sẽ thấy những ký tự đó ở (dxf 1 và/hoặc dxf 3)

 

Formatting%20Codes.png

Great! Thanks, Snowman! Dường như Snowman là Việt Kiều thì phải :P , thấy Snowman post bài có thời điểm 3h sáng ở Vietnam nhưng đó là thời điểm múi giờ làm việc ở nước ngoài :lol:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Snowman toàn đọc bằng English koo hè^^

Có trang nào = vietnamese không,cho a em tham khảo với Snowman ơi ^^

Đọc toàn English đau đầu lắm^^

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Snowman toàn đọc bằng English koo hè^^

Có trang nào = vietnamese không,cho a em tham khảo với Snowman ơi ^^

Đọc toàn English đau đầu lắm^^

Nếu có thì bạn phải hỏi các cao thủ trên diễn đàn, chứ mình thì chịu rồi :)

Mà có đau vài lần thì sau sẽ miễn nhiêm thôi mà :)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
(setq x (cond ((getint (strcat "\nSpecify a Value: <" (if x (itoa x) (itoa defaul-value))">  :")))
     (x)
     (defaul-value)
     ))
Note: x phải là biến hệ thống

ông bạn ơi. khai báo biến x thế nào? khi chương trình chạy lần đầu bị lỗi do biến x chưa có giá trị.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

y t la chon nhieu dim mot luc mà ????

 Tôi không thật sự hiểu ý định của bạn.

1. Bạn lấy dữ liệu từ nhiều đối tượng

2. Việc tiếp theo là đầu ra của dữ liệu vừa tạo, theo như những gì bạn nói thì bạn muốn copy

Song với một list các dữ liệu ấy thì bạn sẽ dán nó vào đâu và thứ tự như thế nào?

Tôi thấy bạn không thật sự hiểu ý định của mình cũng như cách mà AutoCad vận hành!

 

Ps: Bạn có thể up file ghi rõ điều bạn mong muốn ra, trước khi có lisp thì như thế nào, sau khi có lisp  thì như thế nào?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

ông bạn ơi. khai báo biến x thế nào? khi chương trình chạy lần đầu bị lỗi do biến x chưa có giá trị.

 

X là biến hệ thống, tức là không cần phải khai báo gì cả

(setq x (cond ((getint (strcat "\nSpecify a Value: <" (if (or x (setq x 1)) (itoa x)) ">  :")))
     (x)     
     ))

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay


×