Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
Lê Văn Dũng

Duỗi thằng các đường PL gấp khúc thành đường thằng

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

Chào các bác. Đây là lần đầu em hỏi trong nhóm, có gì chưa nắm rõ nội quy mong các bác thông cảm

Hiện tại em có một một đoạn đường PL gấp khúc (nhiều đoạn nhỏ). Em muốn duổi thẳng đường đó thành 1 đường thẳng, giữ được vị trí các điểm nút gấp khúc. Mục đích của em là từ các trắc ngang thiết kế của đường, để vẽ được mặt bằng duỗi thẳng nhanh hơn. Em làm gia cố bề mặt mái taluy ah. Em xin cám ơn các bác đã chỉ bảo

image.png.d883eb6b5cf8641aa5bc457ff0a85cad.png

Em muốn lên thành bản mặt bằng duỗi thằng như này ah

image.png.55bc7691ef7de46c1856c4c5f37e79e0.png

  • Vote giảm 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âu hỏi của bạn trúc trắc làm người không cùng chuyên môn khó nắm bắt được vấn đề. Với tôi cảm nhận được như bạn muốn chiếu đường gấp khúc đó xuống trục X thành các đoạn thẳng nối tiếp. Hoặc có thể là quay các đoạn nghiêng song song trục X để tổng chiều dài pline không đổi.

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ục đích cuối là để sử dụng phần mềm, chạy đường mặt bằng để làm kiên cố hóa taluy phải không?

Trước mình cũng "duỗi" trên trắc ngang nhưng đuỗi phần X thôi để chạy lên mặt bằng phần mềm nối tốt hơn.

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ính chiều dài công dồn pline.

(defun c:test ( / ANG obj D ENT EP I LS LS1 MSPACE MYOBJ N PTLIST SP TMP)
(setq ent (car (entsel)))
(setq ls (ACET-GEOM-PLINE-POINT-LIST ent t))
(setq sp (car ls)
      ep (cadr ls)
      obj (vlax-ename->vla-object ent)
      ang (if (< (angle sp ep) (* pi 0.5)) 0 pi)
      n (length ls) i 1
      ls1 (list sp)
      )
(while ( < i n)
  (setq ls1 (append ls1 (list (polar sp ang (vlax-curve-getDistAtParam obj i))))
        )
(setq i (1+ i))
  )                    
 (setq mspace (vla-get-modelspace (vla-get-activedocument 
              (vlax-get-acad-object))))
  (setq  ptlist (apply 'append ls1)) 
  (setq  tmp (vlax-make-safearray  vlax-vbDouble (cons 0 (- (length ptlist) 1))))
  (vlax-safearray-fill tmp ptlist)
      (setq myobj (vla-addPolyline mspace tmp))
  )

 

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
Đăng nhập để thực hiện theo  

×