• このフォーラムは、www.cad3d.it/forum1 - イタリアのデザインコミュニティの機械翻訳です。いくつかの用語は正しく翻訳されていません。

Add 2dポリリナサミット

  • Thread starter Thread starter ssj4lucapc
  • Start date Start date

ssj4lucapc

Guest
おはようございます! ポリラインの選択に頂点を追加する方法やリスペスがあれば知りたいです。
具体的に 2d polylineeを2つの頂点だけ含んだファイルがあります。 それらのすべてを選択し、各ポリラインの中央にトップを追加できるようにする必要があります。 可能ですか?
お問い合わせ
 
プログラムは2つの頂点を持つポリリンに限られます。
Code:
(defun c:aggver (/gru ent coo1 coo2 coom listacoo))
(setq gru (ssget '(0 . "polyline")))))))))))
(repeat (setq インデックス))
(setq ent (vlax-ename->vla-object (ssname gru)) )
coo1 (vlax-curve-getpointatdist ent 0)
coo2 (vlax-curve-getpointatdist ent) (vla-get-length ent)
coom (vlax-curve-getpointatdist ent) (/ (vla-get-length ent) 2))
Listacoo(coo1コオムコオ2)
listacoo (lista2variant listacoo) の一覧
)
(vla-put-coordinates ent リストアキュー)
)
(プライアンス)
)

;;;;; メニュー funzione lista2variant***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
;;; 多様体内の gruppi にリストアを変換
(defun lista2variant) (listanormal / array) (defun lista2variant) (listanormal / array)) (defun lista2variant (listanormal / array)) (defun lista2variant) (listanormal / array) (defun)) (defun lista2variant (listanormal / array) (listanormal / array) (defun)) (defun lista2variant (listanormal / array) (listanormal / array) (de (defun))
(setq listanormale) (setq listanormale) (setq listanormale) (setq リスト)
(setq 配列 (vlax-make-safearray))
vlax-vbダブル
(cons 0 (- (長さのlistanormal))) 1))
)
)
(vlax-make-variant(vlax-safearray-fill配列listanormale))))
)
 
Last edited:
以前のバージョンのプログラムを修正し、lwpolylineでも動作します。
Code:
(defun c:aggver (/gru ent coo1 coo2 coomm listacoo))
(setq gru (sget '(0 . "lwpolyline,polyline")))))))))))))
(repeat (setq インデックス))
(setq ent (vlax-ename->vla-object (ssname gru)) )
coo1 (vlax-curve-getpointatdist ent 0)
coo2 (vlax-curve-getpointatdist ent) (vla-get-length ent)
coom (vlax-curve-getpointatdist ent) (/ (vla-get-length ent) 2))
Listacoo(coo1コオムコオ2)
)
(コンド)
((vla-get-objectname ent) "acdb2dpolyline")(vla-get-objectname ent) "acdb3dpolyline"))
(setq listacoo (lista2variant listacoo)) )
)
(= (vla-get-objectname ent) "acdbpolyline")
(setq listacoo (mapcar '(lambda (elem) (list (car elem)))))))) リスト
(setq listacoo (lista2variant listacoo)) )
)
)
(vla-put-coordinates ent リストアキュー)
)
(プライアンス)
)

;;;;; メニュー funzione lista2variant***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
;;; 多様体内の gruppi にリストアを変換
(defun lista2variant) (listanormal / array) (defun lista2variant) (listanormal / array)) (defun lista2variant (listanormal / array)) (defun lista2variant) (listanormal / array) (defun)) (defun lista2variant (listanormal / array) (listanormal / array) (defun)) (defun lista2variant (listanormal / array) (listanormal / array) (de (defun))
(setq listanormale) (setq listanormale) (setq listanormale) (setq リスト)
(setq 配列 (vlax-make-safearray))
vlax-vbダブル
(cons 0 (- (長さのlistanormal))) 1))
)
)
(vlax-make-variant(vlax-safearray-fill配列listanormale))))
)
 
お問い合わせ 私は、polylinea の lisp が完璧に動作するように気付きました。 polylinea 2dの場合、後者は半分に切られます。 お問い合わせ
 
です。 . . .
Code:
(defun c:aggver (/gru ent coo1 coo2 coom listacoo numero)))
(setq gru (sget '(0 . "lwpolyline,polyline"))))))))))
番号 0
)
(repeat (setq インデックス))
(setq ent (vlax-ename->vla-object (ssname gru))) )
(コンド)
(ゴールド(例:vla-get-objectname ent) "acdb3dpolyline")
(例 (vla-get-objectname ent) "acdb2dpolyline")
)
(setq coord (variant2lista3d (vla-get-coordinates ent)))))))))
)
(例 (vla-get-objectname ent) "acdbpolyline")
(setq coord (variant2lista2d (vla-get-coordinates ent)))))))))
)
)
(=(長さのcoord) 2) 2
(プログ)
(setq coo1)
coo2 (最後のcoord)
coom (vlax-curve-getpointatdist ent) (/ (vla-get-length ent) 2))
Listacoo(coo1コオムコオ2)
)
(コンド)
((vla-get-objectname ent) "acdb2dpolyline")(vla-get-objectname ent) "acdb3dpolyline"))
(setq listacoo (lista2variant listacoo)) )
)
(= (vla-get-objectname ent) "acdbpolyline")
(setq listacoo (mapcar '(lambda (elem) (list (car elem)))))))) リスト
(setq listacoo (lista2variant listacoo)) )
)
)
(vla-put-coordinates ent リストアキュー)
(setq numero (1+ numero)))
;;; chiude の progn
;;; ならchiude
;;; chiude の繰り返し
(princ(rtos numero 2 0)(princ "oggetti trattati.")(princ)
)

;;;;; メニュー funzione lista2variant***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
;;; 多様体内の gruppi にリストアを変換
(defun lista2variant) (listanormal / array) (defun lista2variant) (listanormal / array)) (defun lista2variant (listanormal / array)) (defun lista2variant) (listanormal / array) (defun)) (defun lista2variant (listanormal / array) (listanormal / array) (defun)) (defun lista2variant (listanormal / array) (listanormal / array) (de (defun))
(setq listanormale) (setq listanormale) (setq listanormale) (setq リスト)
(setq 配列 (vlax-make-safearray))
vlax-vbダブル
(cons 0 (- (長さのlistanormal))) 1))
)
)
(vlax-make-variant(vlax-safearray-fill配列listanormale))))
)

(defun variant2lista2d) (リストア)
(lista2d (vlax-safearray->list (variant-value listavariant))))))
)

(defun lista2d(lst)) の一覧
(lst の場合)
(リスト)
(lista2d (cddrのlst)))
)
)
)

(defun variant2lista3d (リストア)
(lista3d(vlax-safearray->list))
)

(defun lista3d )
(lst の場合)
(cons (list (car lst)) (cadr lst))
(lista3d (cdddr lst)))
)
)
)
 

Forum statistics

Threads
46,674
Messages
380,976
Members
2
Latest member
loop80
このフォーラムは、www.cad3d.it/forum1 - イタリアのデザインコミュニティの機械翻訳です。いくつかの用語は正しく翻訳されていません。

Members online

No members online now.
Back
Top