ページ「KiCad」と「Xamarin.MacでNLogを使う」の間の差分

提供: MonoBook
(ページ間の差分)
ナビゲーションに移動 検索に移動
imported>MikeCAT
(:s/ペイントソフト/お絵かきソフト)
 
imported>Administrator
(Administrator がページ「Xamarin.Mac/NLogを使う」を「Xamarin.MacでNLogを使う」に移動しました)
 
1行目: 1行目:
'''KiCad'''とは、ドロー系[[お絵かきソフト]]の1つで、特に[[回路図]]や[[基板]]の絵を描くのに適している。
+
[[Xamarin.Mac]]でも[[NLog]]を使えると捗る。
  
== 入手 ==
+
==実装1==
KiCadは[[GPL]] v2の[[フリーソフト]]である。
+
[[Xamarin.Mac]]でも[[NLog]]はなんら問題なく使用できる。[[NuGet]]から一発[[インストール]]である。試してはいないが[[MonoMac]]でも同じだと思う。
  
* [http://iut-tice.ujf-grenoble.fr/cao/ 安定版]
+
ただし[[ファイル]]に出力する場合に注意が必要で、[[Mac OS X]]ではあらゆる[[ファイル]]は[[アプリ]]の外部に保存する必要があるため、NLog.configファイルの設定例でよく見かける「basedir変数」以下に書き込む設定は使えない。
* [http://kicad.nosoftware.cz/ 最新版]
 
  
== 使い方 ==
+
===ファイルに出力するNLog.configの設定例===
 +
そこで以下の例では[[Mac OS X]]では定番の「~/Library/Logs/」以下に出力してみた。
  
=== 回路図を描く ===
+
<source lang="xml">
# KiCadを起動する。
+
<?xml version="1.0" encoding="utf-8" ?>
# Eeschemaを起動する。
+
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
# 使いたい[[コンポーネント]](部品)が無ければ、描いて[[ライブラリ]]に登録する。
+
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
# コンポーネントや電源ポートをいい感じに配置する。
+
      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
# 配置したコンポーネントの端子をいい感じにワイヤでつなぐ。
+
      autoReload="true"
# コンポーネントの値やリファレンスなどをいい感じに設定する。
+
      throwExceptions="false"
 +
      internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log" >
  
=== 基板の絵を描く ===
+
  <variable name="appname" value="monobook"/>
# Eeschemaでネットリストを出力する。
 
# 利用したいフットプリントが無ければ、Pcbnewを起動し、フットプリントを作成してライブラリに登録する。
 
# CvPcbを起動し、コンポーネント(回路図上の部品)とフットプリント(基板上の部品)を対応付ける。
 
# Pcbnewを起動する。
 
# 出力しておいたネットリストを読み込む。部品が画面に投入される。
 
# いい感じに部品を配置する。
 
# [[ツールバー]]の「トラック モード:自動配線」をONにし、画面を右クリックして「自動配線→全てのモジュールを自動配線」で勝手に配線を行ってくれる。配線を最初から考えず調整するだけでよくなるので、手間が減る。
 
# [[3D]]表示もできる。楽しい。
 
  
=== その他の図形を描く ===
+
  <targets>
# 最初からPcbnewを起動する。回路図やネットリストは必要ない。
+
    <target xsi:type="File" name="logfile"
# 右上の[[コンボボックス]]で"Edge.Cuts"を選択する。これは本来は基板の外形を描く場所であるが、様々な[[図形]]を描ける。
+
    fileName="${specialfolder:folder=MyDocuments}/Library/Logs/${appname}/${shortdate}.log"
# [[線分]]や[[円弧]]、半角[[英数字]]・記号の[[テキスト]]を組み合わせて描きたい図形を描く。
+
        layout="${longdate} ${uppercase:${level}} ${message}" />
# 描いた図形を[[印刷]]したい場合は、あらかじめ[[ページ設定]]で適切な[[紙]]の大きさを指定しておく。[[デフォルト]]ではA3になっているので注意。
 
  
== 外部リンク ==
+
    <target xsi:type="Console" name="console" />
* [http://www.kicad-pcb.org/display/KICAD/KiCad+EDA+Software+Suite KiCad EDA Software Suite - Kicad EDA - KiCad EDA]
 
* [https://sites.google.com/site/vita0117kicad/ KiCadチュートリアル]
 
* [https://twitter.com/kicad_jp kicad.jp(@kicad_jp)さん | Twitter]
 
  
== 関連項目 ==
+
  </targets>
=== お絵かきソフト ===
 
* [[OpenOffice.org]] Draw
 
* [[LibreOffice]] Draw
 
* [[Inkscape]]
 
* [[AR_CAD]]
 
* [[Microsoft Word]]
 
* [[Microsoft Excel]]
 
  
=== 回路設計ソフト ===
+
  <rules>
* [[PasS]]
+
    <logger name="*" minlevel="Trace" writeTo="logfile" />
* [[源内CAD]]
+
    <logger name="*" minlevel="Info"  writeTo="console" />
* [[LTspice]]
+
  </rules>
* [[CircuitLab]]
+
</nlog>
 +
</source>
 +
NLogに設定するパスは[[絶対パス]]なので、ホームディレクトリのパスの取得は「[[MonoMac/特殊ディレクトリのパスを取得する]]」を用いてMyDocumentsを指定することで取得した。
 +
 
 +
また、NLog.config中でアプリ名を動的に取得する方法がわからなかったので、この例では自前でappname変数を用意している。
 +
 
 +
===備考===
 +
NLog.configは初期状態でビルド時にコピーされない設定になっていると思うので修正するのを忘れないこと。NLog.configファイルのプロパティの「出力ディレクトリにコピー」の値を「新しい場合のみコピー」または「常にコピー」に設定する。
 +
 
 +
===不具合===
 +
これは2015年8月3日の情報です。
 +
[[Xamarin.Mac]]において「Debugビルド」を行うとアプリ内(***.app内)のMonoBundleディレクトリにNLog.configファイルが生成(コピー)されるが、「Releaseビルド」では生成されないようだ。たぶん[[不具合]]だと思う。
 +
 
 +
==関連項目==
 +
*[[MonoMac/特殊ディレクトリのパスを取得する]]
 +
 
 +
==参考文献==
 +
{{reflist}}
 +
 
 +
{{stub}}
 +
 
 +
[[category:Xamarin.Mac]]
 +
[[category:MonoMac]]

2019年5月22日 (水) 05:13時点における最新版

Xamarin.MacでもNLogを使えると捗る。

実装1[編集 | ソースを編集]

Xamarin.MacでもNLogはなんら問題なく使用できる。NuGetから一発インストールである。試してはいないがMonoMacでも同じだと思う。

ただしファイルに出力する場合に注意が必要で、Mac OS Xではあらゆるファイルアプリの外部に保存する必要があるため、NLog.configファイルの設定例でよく見かける「basedir変数」以下に書き込む設定は使えない。

ファイルに出力するNLog.configの設定例[編集 | ソースを編集]

そこで以下の例ではMac OS Xでは定番の「~/Library/Logs/」以下に出力してみた。

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
      autoReload="true"
      throwExceptions="false"
      internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log" >

  <variable name="appname" value="monobook"/>

  <targets>
    <target xsi:type="File" name="logfile" 
    	fileName="${specialfolder:folder=MyDocuments}/Library/Logs/${appname}/${shortdate}.log"
        layout="${longdate} ${uppercase:${level}} ${message}" />

    <target xsi:type="Console" name="console" />

  </targets>

  <rules>
    <logger name="*" minlevel="Trace" writeTo="logfile" />
    <logger name="*" minlevel="Info"  writeTo="console" />
  </rules>
</nlog>

NLogに設定するパスは絶対パスなので、ホームディレクトリのパスの取得は「MonoMac/特殊ディレクトリのパスを取得する」を用いてMyDocumentsを指定することで取得した。

また、NLog.config中でアプリ名を動的に取得する方法がわからなかったので、この例では自前でappname変数を用意している。

備考[編集 | ソースを編集]

NLog.configは初期状態でビルド時にコピーされない設定になっていると思うので修正するのを忘れないこと。NLog.configファイルのプロパティの「出力ディレクトリにコピー」の値を「新しい場合のみコピー」または「常にコピー」に設定する。

不具合[編集 | ソースを編集]

これは2015年8月3日の情報です。 Xamarin.Macにおいて「Debugビルド」を行うとアプリ内(***.app内)のMonoBundleディレクトリにNLog.configファイルが生成(コピー)されるが、「Releaseビルド」では生成されないようだ。たぶん不具合だと思う。

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]