anonmyous
-
Số lượng nội dung
48 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi anonmyous
-
-
Thực ra chuỗi cần tính của mình nó phát sinh trong quá trình chạy LISP & cũng chỉ dùng để qui định các thành phần đo vẽ thôi, cho nên search đếm cái dấu "\" rồi trừ nó ra cũng đủ rồi.
Thanks các bác đã tư vấn giúp
-
Hôm nay tui có viết một đoạn mã trong đó cần đếm số lượng chữ cái, vấn đề nó là thế này :
- Nếu chữ không dấu "dat dao" chẳng hạn, thì hàm (strlen "dat dao") = 7 -> OK
- Nếu chữ theo font Unicode, nhìn vào thì nó là (strlen "đất đào") nhưng thực sự nó lại hiểu là (strlen "\U+0111\U+1EA5t \U+0111\U+00E0o") và kết quả là bằng 31.
Bác nào giúp hộ đoạn mã tính chiều dài của một chuỗi bất kì, có thể chữ không dấu, cũng có thể chữ dùng font Unicode hộ mình với
-
Mình mới cài CAD 2013, mọi thứ đều bình thường, chỉ có cái bảng Block Authoring Palettes trong Bedit là ... trống trơn ko có gì trỏng cả.
Không biết đây có phải lỗi của CAD ko, và có cách nào để phục hồi lại mấy cái trong bảng này ko
-
Em cảm ơn bác Doan Van Ha nhiều nhé. Mà lúc nãy quên mất, không nhờ viết luôn cả cái thao tác ngược lại phức tạp hơn biến từ wipeout thành poly line với. Bác xem có giúp đc e luôn ko với?
Chọn Wipe Out -> Explode
PEdit -> Chọn đoạn bất kì trên cái mớ vừa bẻ -> [ENTER] -> J -> P -> [Enter] -> Done
Có cần phải LISP ko nhỉ
-
Đoạn cong e có search trên google nó có 1 khái niệm về cái số Bulge gì gì đó & e đã tính toán cũng như chuyển đổi ra tất cả các thông số của đoạn cong đó được rồi.
Cảm ơn các bác nhiều nhiều.
-
Thanks bác, giờ thì e đã hiểu
Vậy còn đoạn cong trên đường này thì sao bác
-
Chào các bác !
Bác nào cho em xin đoạn mã đọc dữ liệu đường 2D POLYLINE
Đường mà (assoc 0 data ) = (0 . "POLYLINE") đấy ạ, không phải (0 . "LWPOLYLINE") đâu
E nhớ trên 4r cũng có rồi nhưng mà dùng các hàm khi chạy (vl-load-com)
E muốn đọc nó bằng LISP thuần túy, đồng thời cũng xác định luôn vị trí các đoạn cong trên đường này
-
Máy ở công ty xài CAD2012 (trên win7) thì xảy ra tình trạng như vậy
Máy ở nhà cũng cài CAD2012 (winXP) thì lại bình thường
Search một hồi thì ra cái này PLINETYPE
0 - POLYLINE
1 - LWPOLYLINE
- 1
- 1
-
+ Trước đây khi vẽ Polyline (2004) bằng lệnh Pline -> vào xem Properties của đường vẽ xong nó báo là Polyline
Hoặc giả dụ có 1 đường 2D Polyline nào đó trong bản vẽ, chỉ cần Explode nó ra rồi dùng Pedit nối lại là nó thành Polyline
+ Sau này mình dùng CAD 2012 thì khi dùng Pline -> vào xem Properties của đường vẽ xong nó báo là 2D Polyline
và có Eplode nó ra đi nữa rồi nối lại bằng Pedit thì nó vẫn là 2D Polyline
Vấn đề của mình là : làm sao vẽ đường có thuộc tính là Polyline (chứ không phải 2D Polyline) trong CAD 2012, hay có cách nào để chuyển đổi từ 2D Polyline sang Polyline ko ?
-
mới mày mò lập ra cái LISP chạy cắt dọc cắt ngang, các bác xem thử
-
mục đích của bạn là gì, tạo WipeOut cho nhanh chăng ?
-
Quan sát video, Tue_NV chỉ có ý kiến nhỏ để chương trình chạy nhanh hơn là : Bạn có thể gộp các Lisp lại thành 1 Lisp duy nhất -> Khi chọn Block -> Xuất ra và ghi 1 lượt luôn. Nếu khối lượng nhiều, chắc chắn sẽ nhanh hơn đấy.
Hiện tại nó chậm là do mình vẫn dùng command OFFSET của CAD, cũng đang tính viết riêng cho nó một func OFFSET riêng.
-
Sơ bộ mới xong được cái LISP chạy mặt cắt kênh theo tài liệu địa hình đo về, mời các bác xem và cho ý kiến
- 1
-
ah, vậy còn lỗi khi dùng Refedit để Edit Block thì nó báo
Application reference missing : ACAD, to AcDbLinetypeTableRecordla như thế nào vậy các bác
-
Dùng MassProp cũng được mà
-
Cám ơn các bạn. Bạn đoán vậy đúng rồi. Tuy nhiên, mình đính chính một tý: các ĐỈNH của các đoạn thẳng tạo thành nên uốn lượn theo đường cong càng giống càng tốt chứ kg cần nằm về hai phía của nó. Mình gởi hình cho các bạn
Mục đích của bác muốn biến đổi vậy để làm gì, dựng WipeOut cho nhanh chăng, còn độ chính xác thì cái này ở phần đầu vào ta có thể cho nó một tham số khống chế chiều dài đoạn chia, nhập & chạy lại LISP cho đến khi kết quả thỏa mãn
-
cái này ý bác là cộng theo giá trị ghi trong DIMENSION hay giá trị thực tế, gặp bản vẽ ma số thì sao
-
Thanks bác, em tìm ra vấn đề rồi.
-
Chẳng là em có một đối lượng LWPOLYLINE trong đó có cả đường thẳng (LINE), đường cong (ARC)
Giờ em muốn viết một đoạn mã để thống kê VERTEX nào là LINE, VERTEX nào là ARC
Nhờ các bác giúp giùm em.
-
update block
trong Lập trình khác
Cái này có một hướng giải quyết nữa
+ Đầu tiên vào Format -> Rename -> đổi tên BLock ở trong bản vẽ muốn đổi
+ Copy block mới vào bản vẽ vừa đổi tên Block
+ Dùng Replace Block trong bộ Express
Xong
-
tại sao lại cứ phải là 2011, mình chưa dùng nhưng theo mình bạn thử kiểm tra các TAB của bảng điều khiển OSNAP xem.
-
chuyển sang dùng bản vẽ tỉ lệ 1:1 đi, kích thước format theo từng tỉ lệ, khi hoàn chỉnh để in ra thì tạo block cho từng mặt cắt rồi scale lên.
-
Bản quyền VLX
trong AutoLisp
Lại bàn về vấn đề bảo mật, theo mình thì nếu để chống Ghost bạn cho số lần sử dụng nhỏ xuống, nếu ko có liscence thì chỉ chạy được mấy lần chẳng hạn, ko lẽ ngày nào cũng bung ghost :D
-
cần thì liên hệ với tác giả đi bro ơi, bẻ làm gì cho mắc công
[Giúp đỡ] Tọa độ đối tượng không trùng với tọa độ CAD
trong AutoLisp
Đã đăng · Trả lời báo cáo
Chả là thế này, hôm nay nhận được một bản vẽ mà khi dùng hàm LISP để đọc tọa độ của đối tượng TEXT (cdr (assoc 10 data)) thì nó cho ra kết quả không trùng với tọa độ của TEXT ấy khi dùng lệnh ID để kiểm tra vị trí TEXT
Em cũng có kiểm tra UCS, PLAN đưa về World hết rồi mà kết quả vẫn như cũ
Nhờ các bác khắc phục giúp, bản vẽ thì nay lại quên chép về rồi nên không up lên được, up sau vậy