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

Bee

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

    502
  • Đã tham gia

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

  • Ngày trúng

    33

Cộng đồng

139 (tàm tạm)

1 Người theo dõi

About Bee

  • Cấp bậc
    biết lệnh xref

Khách truy cập Tiểu sử gần đây

3.329 chế độ xem tiểu sử
  1. Bee

    [TÌM CAO NHÂN] LISP THỐNG KÊ ĐA GIÁC PLINE

    Lisp này chắc phải mất phí thì mới có đc rồi. :D
  2. Bee

    Phá Block

    Hàng về, :D2. CHI TIET KY THUAT.dwg
  3. Bee

    Xin trợ giúp dựng hình khối không gian 3d

    1.extrude 2 pline kín này lên. 2. Vẽ 2 pline chiếu đứng rồi extrude tiếp dài dài tí cũng đc 3. SUBTRACT lấy khối to trừ đi khối nhỏ là xong.
  4. Bee

    Xin trợ giúp dựng hình khối không gian 3d

    Vẽ khối xong Subtruc là được thôi mà. Nghĩ đi là ra. :D
  5. Bee

    Lisp chuyển từ Spline sang 3DPolyline

    Có hết :D
  6. Bee

    Lisp chuyển từ Spline sang 3DPolyline

    Hỏi a GG là ra tương đối nhiều. Đây là 1 ví dụ :D ;;CADALYST 12/03 AutoLISP Solutions SPLINE-TO-PLINE.LSP ;;(c) 2003 Tony Hotchkiss (defun spline-to-pline (/ i) (vl-load-com) (setq *thisdrawing* (vla-get-activedocument (vlax-get-acad-object) ) ;_ end of vla-get-activedocument *modelspace* (vla-get-ModelSpace *thisdrawing*) ) ;_ end of setq (setq spline-list (get-spline)) (setq i (- 1)) (if spline-list (progn (setq msg "\nNumber of segments <100>: ") (initget 6) (setq num (getint msg)) (if (or (= num 100) (= num nil)) (setq num 100) ) ;_ end of if (repeat (length spline-list) (setq splobj (nth (setq i (1+ i)) spline-list)) (convert-spline splobj num) ) ;_ end of repeat ) ;_ end of progn ) ;_ end of if ) ;_ end of spline-to-pline (defun get-spline (/ spl-list obj spline no-ent i) (setq spl-list nil obj nil spline "AcDbSpline" selsets (vla-get-selectionsets *thisdrawing*) ss1 (vlax-make-variant "ss1") ) ;_ end of setq (if (= (vla-get-count selsets) 0) (setq ssobj (vla-add selsets ss1)) ) ;_ end of if (vla-clear ssobj) (setq no-ent 1) (while no-ent (prompt "\nSelect splines: ") (vla-Selectonscreen ssobj) (if (> (vla-get-count ssobj) 0) (progn (setq no-ent nil) (setq i (- 1)) (repeat (vla-get-count ssobj) (setq obj (vla-item ssobj (vlax-make-variant (setq i (1+ i))) ) ;_ end of vla-item ) ;_ end of setq (cond ((= (vlax-get-property obj "ObjectName") spline) (setq spl-list (append spl-list (list obj)) ) ;_ end of setq ) ) ;_ end-of cond ) ;_ end of repeat ) ;_ end of progn (prompt "\nNo entities selected, try again.") ) ;_ end of if (if (and (= nil no-ent) (= nil spl-list)) (progn (setq no-ent 1) (prompt "\nNo splines selected.") (quit) ) ;_ end of progn ) ;_ end of if ) ;_ end of while (vla-delete (vla-item selsets 0)) spl-list ) ;_ end of get-spline (defun convert-spline (splobj n / i) (setq point-list nil 2Dpoint-list nil z-list nil spl-lyr (vlax-get-property splobj 'Layer) startSpline (vlax-curve-getStartParam splobj) endSpline (vlax-curve-getEndParam splobj) i (- 1) ) ;_ end of setq (repeat (+ n 1) (setq i (1+ i)) (setq p (vlax-curve-getPointAtParam splobj (* i (/ (- endspline startspline) n) ) ;_ end of * ) ;_ end of vlax-curve-getPointAtParam ) ;_ end of setq (setq 2Dp (list (car p) (cadr p)) 2Dpoint-list (append 2Dpoint-list 2Dp) point-list (append point-list p) z (caddr p) z-list (append z-list (list z)) ) ;_ end of setq ) ;_ end of repeat (setq summ (apply '+ z-list)) (setq arraySpace (vlax-make-safearray vlax-vbdouble ; element type (cons 0 (- (length point-list) 1) ) ; array dimension ) ;_ end of vlax-make-safearray ) ;_ end of setq (setq vert-array (vlax-safearray-fill arraySpace point-list)) (vlax-make-variant vert-array) (if (and (= :vlax-true (vlax-get-property splobj 'IsPLanar)) (= summ 0.0) ) ;_ end of and (setq plobj (add-polyline 2Dpoint-list vla-AddLightweightPolyline ) ;_ end of add-polyline ) ;_ end of setq (setq plobj (add-polyline point-list vla-Add3DPoly ) ;_ end of add-polyline ) ;_ end of setq ) ;_ end of if (vlax-put-property plobj 'Layer spl-lyr) (vla-delete splobj) (vlax-release-object splobj) ) ;_ end of convert-spline (defun add-polyline (pt-list poly-func) (setq arraySpace (vlax-make-safearray vlax-vbdouble (cons 0 (- (length pt-list) 1) ) ; array dimension ) ;_ end of vlax-make-safearray ) ;_ end of setq (setq vertex-array (vlax-safearray-fill arraySpace pt-list) ) ;_ end of setq (vlax-make-variant vertex-array) (setq plobj (poly-func *modelspace* vertex-array ) ;_ end of poly-func ) ;_ end of setq ) ;_ end of add-polyline (defun c:s2p () (spline-to-pline) (princ) ) ;_ end of c:s2p (prompt "SPLINE-TO-PLINE by Tony Hotchkiss. Enter S2P to start" ) ;_ end of prompt
  7. Bee

    phá vỡ text sang nét vẽ

    Nếu ko dùng được thì bạn cài thêm express. Hoặc cách khác là print sang PDF rồi import ngược lại CAD thì sẽ là hatch, sau đó tạo lại đường bao hatch là đc.
  8. Bee

    Nhập "space" vào dòng command ?

    Về căn bản là em thấy nó đọc đc giá trị bao nhiêu thì xử luôn không cho ra command thì sẽ không bị khác giá trị. Đây là ví dụ em xử nó :D (setq n 0) (vlax-for x (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))) (if (vl-string-search "DIM" (strcase (vla-get-name x))) (progn (setq new_name (strcat "dim_temp" (rtos n 2 0))) (vlax-put x 'name new_name) (setq layers (cons new_name layers)) (setq n (1+ n)) ) ;progn ) ;if ) ;vlax-for
  9. Bee

    Nhập "space" vào dòng command ?

    Dạ vâng. Sẽ phải động não. Căn bản việc ngập đầu nhiều lúc nó bị lú lẫn nên tính hỏi cho nhanh. Cám ơn bác nhiệt tình góp ý. :D
  10. Bee

    Nhập "space" vào dòng command ?

    Em làm cách khác đơn giản và nhanh gọn hơn roài. Rename nó bằng vlax-put xong mới Laymrg. Hihi, nhanh và đơn giản hơn.
  11. Bee

    Nhập "space" vào dòng command ?

    Heiz vẫn là unicode sang ascii. Bác có code convert cho e xin luôn, máy trên vp đang ko lưu bộ code, ngồi search gg thì cũng mất time.
  12. Bee

    Nhập "space" vào dòng command ?

    Em đang làm cái lisp merge layer mà nhiều thế copy paste bao giờ xong được.? Có cách nào khác không bác Hạ ?
  13. Bee

    Nhập "space" vào dòng command ?

    :D Em để nguyên để bác hình dung độ bá đạo của bản vẽ. Đã bật share, lúc up ko để ý ạ.
  14. Bee

    Nhập "space" vào dòng command ?

    Dạ có ngay ạ. Bản vẽ nhìn thôi rồi lượm ơi. Hik Do chỉ cho up file <1.58Mb nên đành để link gg. Bác Hạ xem tải và chỉ em xử nó. Nhìn hệ thống layer mà lạnh người. https://drive.google.com/file/d/1cD3x0Vb1H-fQa-floskWrfCT6iEkHiTQ/view?usp=sharing
  15. Bee

    Nhập "space" vào dòng command ?

    Pro nào chỉ mình nhập Space vào dòng command, mình nhập toàn lỗi là sao ? Thanks. Command: -LAYMRG Select object on layer to merge or [Name]: n Enter layer name or [?]: tieu canh CÐT dieu chinh$0$IDEA - Dim Invalid Layer name.
×