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

専用のレイヤーでポリリニアを描画

  • Thread starter Thread starter brizio
  • Start date Start date

brizio

Guest
ho la necessità di disegnare una polilinea su un layer dedicato di n punti, ma quando termino il comando pline con invio (pause) non riesco a riprendere il layer 0 o precedente vedi di seguito:
(defun c:tr ()
(command "_pline" "0,0" "la" "0.00" "0.00" "")
(command "_layer" "_t" "ic_tratte" "_s" "ic_tratte" "")
(command "_pline" pause)
(command "_layer" "_t" "0" "_s" "0" "")
)
qualcuno mi può aiutare? grazie
 
grazie rpor66
però c'è un piccolo errore in quanto non riconosce coord probabilmente va definito prima del (setq lista (coord)
 
strano, ho cambiato postazione, scaricato il file, caricato, funziona.
fammi sapere, sono curioso.

ciao
 
scusa ma anch'io non capisco ieri sera non c'era verso di farlo funzionare e si bloccava prima sul comando layer ed in seguito su coord. questa mattina quando ho ricevuto la tua risposta ho riprovato e funziona tutto benissimo.
di nuovo grazie e scusami
 
私はこの議論に戻ります。
上記の lisp から開始し、それを変更することができます。 コマンド "ビルディングライン" が作成されるとき (存在しない場合) レイヤー "ビルディング" と同じ行がこのレイヤーに配置され、コマンドが以前のレイヤーに戻りますか?
可能ですか?
 
すべてのコマンドにシンプルで適用されていることを尋ねます。

salvavar と chargevar のコマンドを定義します。
また、描画ステージで一般的に変更される他の変数を追加しました。
Code:
; 変数 sp14_.... は公開
; osnap、層、ortho、色、snapmode を保存して下さい
(defun サルバヴァル)
(setq sp14_osnap (getvar "osmode")) (setq sp14_osnap (getvar "osmode")
(setq sp14_layer (getvar "clayer")) (setq sp14_layer (getvar "clayer")
(setq sp14_ortho (getvar "orthomode")) (setq sp14_ortho (getvar "orthomode")
(setq sp14_color (getvar "cecolor")) (setq sp14_color) (getvar "cecolor")
(setq sp14_snapmode (getvar "snapmode")) は、
)

; osnap、層、ortho、色、snapmodeを元通りにして下さい
; もし条件がサルババーを始めることなくコマンドを使用してエラーを回避するのに役立つ場合
(デファン・カリカヴァル)
(/= sp14_osnap nil の場合)
(setvar "osmode" sp14_osnap) は、
)
(/= sp14_layer nil の場合)
(コマンド "_-layer" sp14_layer")
)
(/=sp14_ortho nil) の場合
(setvar "orthomode" sp14_ortho) (setvar "orthomode" sp14_ortho) (setvar "ortho" sp14_ortho) (setvar "ortho" sp14_ortho) (setvar "ortho" sp14_ortho) (setvar "ortho" sp14_ortho) (setvar "ortho" sp14_ortho) (setvar "ortho" sp14_ortho) (setvar "ortho" sp14_) (setvar "ortho" sp14" ) (setvar "ortho" ) は、sp14" で指定します。
)
(/= sp14_color nil の場合)
(setvar "cecolor" sp14_color) (setvar "cecolor" sp14_color) (setvar "cecolor" sp14_color") (setvar "cecolor") (setvar "cecolor" sp14_color) (setvar "cecolor")) (setvar "cecolor" sp14_color) (setvar "cecolor" sp14_color) (setvar "cecolor" ) (setvar "cecolor" sp14_color) (setvar "cecolor" ) (setvar "cecolor" sp14_color" ) (setvar "cecolor" ) (setvar" ) ) (setvar (setvar ) ) ) ) )
)
(/= sp14_color nil の場合)
(setvar "snapmode" sp14_snapmode" ) は、
)
)
コマンドを作成して起動(ビルドライン)
Code:
(defun の startlineadicostruction()))
(サルバヴァル)
(lineadicostruction)
(ロードバー)
)
実際には、パブリック変数値で保存し、コマンドを起動し、すべてを復元します。
 
私の lisp の使用:
;;; ;------------------------------------------------ 入力 variabili アンビエンテ ;------------------------------------------------ (defunモード) (setq mlst '()) ) ) (repeat a) (setq mlst (mlst (リスト (to)))))))) (setq a (cdr a))) ) ) ;---------------------------------------- ; ripristina variabili アンビエンテ ;---------------------------------------- (defunモデラー) (レパート(長さmlst)) (setvar (caar mlst) (各mlst))) (setq mlst (cdr mlst)))) ) )次に、最初に呼び出したモードを「記憶」に、必要な変数の現在の状態:

例)(モード '("osmode" "limcheck" "cmdecho")))モデラー 出口の前に呼び出して、すべてのものを初期状態に戻すようにします。


(moder) ; 初期変数を復元モデラーがモードによって定義される mlst 変数を使用するのでパラメーターを必要としないので
 
申し訳ありませんが、ヒントをありがとうございましたが、それよりも簡単に何かを考えていました。
(私はできないので、明らかに機能しない)
Code:
(defun c:lincos)

(setq sp14_layer (getvar "clayer")); 現在のレイヤーを記憶する

(コマンド "_layer" "_t" "buildings" "_m" "buildings"); 新規レイヤーを作成する

(command "_xline" breaks) ; 工事ラインを開始

(コマンド ") ; xline コマンドの末尾

(コマンド "_layer" "_m" シェーダー ""); 前のレイヤーを復元

)
 
私は危機にあなたを置いたことを私に言わないでください。)
できるだけ単純にする必要があるのは、私よりも少し理解している他の人々にパスして説明できる単一のコマンドを取得することです。
単一のコマンドを作成することが不可能だと私に言うと、私は理由を持って、ありがとう。
 
ひとつのコマンドは実際に不可能だと思う。 . . .
レイヤー上で常に動作する場合(それを作成し、それを色を変更し、それをオフにします...など)、はい。
ひとつのコマンドは実現できません。

'これは、コモドール64とヴィク20の雑誌で、私が最後の世紀(!)に戻って来る唯一のコマンドが、彼らは単一のラインに集中した興味深い「プログラム」を提案したコラムがあったことです...
 
申し訳ありませんが、ヒントをありがとうございましたが、それよりも簡単に何かを考えていました。
(私はできないので、明らかに機能しない)
Code:
(defun c:lincos)

(setq sp14_layer (getvar "clayer")); 現在のレイヤーを記憶する

(コマンド "_layer" "_t" "buildings" "_m" "buildings"); 新規レイヤーを作成する

(command "_xline" breaks) ; 工事ラインを開始

(コマンド ") ; xline コマンドの末尾

(コマンド "_layer" "_m" シェーダー ""); 前のレイヤーを復元

)
あなたの原則は、いくつかの修正が行われるべきだと思う、これを試してください:

(defun c:lincos)

(setq namelayer "buildings"); 対象レイヤーの名前

(setq lay (getvar "clayer") ; 現在のレイヤーを保存します。

(tblsearch "layer" nomelayer) ; ターゲット層の存在を検索
("namelayer" の "layer" コマンド))。 存在すると、
(command "_.layer" "_make" 名前レイヤ ") ; 存在しない場合
)

(command "_setvar" "clayer" 名前レイヤ");現在のターゲット層をレンデ
(command "_xline" は "" を破ります)。
(コマンド "_setvar" "clayer" lay ""); 前層を復元します。

(プライアンス)
)
 
コマンドにシンプルなバリアントを作るか、水平線を設定する必要があります。 私は管理しましたが、元のレイヤーに戻りません。 間違っている場所?
Code:
(defun c:lincosh )
(setq namelayer "buildings"); 対象レイヤーの名前
(setq lay (getvar "clayer") ; 現在のレイヤーを保存します。
(tblsearch "layer" nomelayer) ; ターゲット層の存在を検索
("namelayer" の "layer" コマンド))。 存在すると、
(command "_.layer" "_make" namelayer ") ; 作成がない場合、
)
(command "_setvar" "clayer" 名前レイヤ"); 現在のターゲットレイヤーを作る
(command "_xline" "or" の壊れ目); 水平な構造ラインを引く
(コマンド "_setvar" "clayer" lay"); 前のレイヤーを復元
(プライアンス)
)
 
ラインへ
(コマンド "_xline" "or" が壊れています)
送信をお見逃しなく
(コマンド "_xline" "or" が壊れます)
 
私はそれを送るべきだと思った, あまりにも, 私は肋骨を投げ、奇妙な操作の既知のコマンドラインを見て、レイヤーは復元されていない. lisp を送らないと、とにかく "better" というと、複数の行を差し込むことができるのも快適ですが、とにかくレイヤーを復元しません。
 
私はそれを送るべきだと思った, あまりにも, 私は肋骨を投げ、奇妙な操作の既知のコマンドラインを見て、レイヤーは復元されていない. lisp を送らないと、とにかく "better" というと、複数の行を差し込むことができるのも快適ですが、とにかくレイヤーを復元しません。
lisp は、与えられた指示をステップバイステップで実行します。それがそれらを味わわない何か不意に会うならば、エラーを生成し、停止します。
この lisp では、すべてが滑らかに動きます 一時停止 点(演算子から)を選択し、前のレイヤーを復元することを期待する場所。
1つの場所にある場合 一時停止 3つを置くと、3つのxlinesを描画することができますが、2つまたは4つではなく、描画したいxlinesの数を事前に知らなければ、より複雑になります。
コマンドラインで知られる奇妙な操作は、プロセスを中断し、レイヤーを復元できないというエラーが原因であると思います。
 
lispを提案して再充電するように修正しましたが、添付されたエラーはまだ存在します。
しかし、最初のインサートの後、追加のコマンドを与えずに、lispの割込みを繰り返し実行して、無限のxlinesを描画できるようにするため、連続サイクルがあるようです。 閉じるために、私は強制的にecキーボードを押します
 

Attachments

  • Cattura.JPG
    Cattura.JPG
    153.8 KB · Views: 4

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