Search found 10 matches

Go to advanced search

by 3939yoshi
Fri Mar 24, 2017 6:41 am
Forum: 日本語フォーラム
Topic: Draftからsvg変換の線幅が0.35固定となっている。
Replies: 10
Views: 192

Re: Draftからsvg変換の線幅が0.35固定となっている。

寸法線や角度寸法線の数値表示に於いて、小数点以下の余分な 0 を取り除く修正です。 このみの問題ですが。 DraftGui.py内です。 def displayExternal(internValue,decimals=None,dim='Length',showUnit=True,unit=None): '''return an internal value (ie mm) Length or Angle converted for display according to Units Schema in use. Unit can be used to force the value to...
by 3939yoshi
Fri Mar 24, 2017 6:31 am
Forum: 日本語フォーラム
Topic: Draftからsvg変換の線幅が0.35固定となっている。
Replies: 10
Views: 192

Re: Draftからsvg変換の線幅が0.35固定となっている。

SVGの角度寸法線のテキストで向きと位置が正しくない問題の修正です。 Draft.py のgetSVG内です。 # drawing text if obj.ViewObject.DisplayMode == "2D": t = prx.circle.tangentAt(prx.circle.FirstParameter+(prx.circle.LastParameter-prx.circle.FirstParameter)/2.0) t = getProj(t) tangle = DraftVecUtils.angle(t) if (tangle <= -math.pi/2...
by 3939yoshi
Fri Mar 24, 2017 6:25 am
Forum: 日本語フォーラム
Topic: Draftからsvg変換の線幅が0.35固定となっている。
Replies: 10
Views: 192

Re: Draftからsvg変換の線幅が0.35固定となっている。

svgで円弧が正しく表示されない問題の修正点です。 Draft.py のgetSVG()関数内です。 # arc if iscircle: rx = ry = c.Radius rot = 0 else: #ellipse rx = c.MajorRadius ry = c.MinorRadius rot = math.degrees(c.AngleXU * (c.Axis * \ FreeCAD.Vector(0,0,1))) if rot > 90: rot -=180 if rot < -90: rot += 180 #be carefull with the sweep flag fl...
by 3939yoshi
Fri Mar 24, 2017 6:16 am
Forum: 日本語フォーラム
Topic: Draftからsvg変換の線幅が0.35固定となっている。
Replies: 10
Views: 192

Re: Draftからsvg変換の線幅が0.35固定となっている。

svgの角度寸法線の矢印向きの修正点です。 Draft.pyのgetSVG内です。 # drawing arrows if hasattr(obj.ViewObject,"ArrowType"): p2 = getProj(prx.p2) p3 = getProj(prx.p3) arrowsize = obj.ViewObject.ArrowSize.Value/pointratio arrowlength = 4*obj.ViewObject.ArrowSize.Value u1 = getProj((prx.circle.valueAt(prx.circle.Firs...
by 3939yoshi
Thu Mar 23, 2017 4:36 am
Forum: 日本語フォーラム
Topic: Draftからsvg変換の線幅が0.35固定となっている。
Replies: 10
Views: 192

Re: Draftからsvg変換の線幅が0.35固定となっている。

Draftワークベンチのメイン画面の角度寸法線の矢印の向きを修正しました。 Draft.pyの class _ViewProviderAngularDimension() の def updateData()内です。 # calculate small chords to make arrows look better arrowlength = 4*obj.ViewObject.ArrowSize.Value u1 = (self.circle.valueAt(self.circle.FirstParameter+arrowlength)).sub(self.circle.valueAt(s...
by 3939yoshi
Wed Mar 22, 2017 4:09 am
Forum: 日本語フォーラム
Topic: Draftからsvg変換の線幅が0.35固定となっている。
Replies: 10
Views: 192

Re: Draftからsvg変換の線幅が0.35固定となっている。

直線や折れ線のEndArrowのsvgでの矢印向きの修正です。 Draft.pyのgetSVG()の一番最後です。 "+math.pi"を追加しています。 if FreeCAD.GuiUp: if hasattr(obj.ViewObject,"EndArrow") and hasattr(obj.ViewObject,"ArrowType") and (len(obj.Shape.Vertexes) > 1): if obj.ViewObject.EndArrow: p1 = getProj(obj.Shape.Vertexes[-...
by 3939yoshi
Wed Mar 22, 2017 12:03 am
Forum: 日本語フォーラム
Topic: Draftからsvg変換の線幅が0.35固定となっている。
Replies: 10
Views: 192

Re: Draftからsvg変換の線幅が0.35固定となっている。

svgへ出力される矢印の形状を塗りつぶしから線の変更点です。 Draft.pyのgetArrow()内を以下のように変更します。svgに出力した図が全体的に製図ぽっくなります。 elif obj.ViewObject.ArrowType == "Arrow": svg += '<path transform="rotate('+str(math.degrees(angle)) svg += ','+ str(point.x) + ',' + str(point.y) + ') ' svg += 'translate(' + str(point.x) + ',' +...
by 3939yoshi
Tue Mar 21, 2017 11:37 pm
Forum: 日本語フォーラム
Topic: Draftからsvg変換の線幅が0.35固定となっている。
Replies: 10
Views: 192

Re: Draftからsvg変換の線幅が0.35固定となっている。

DraftのフォントファミリーにMeiryoを使用しています。以下のように2倍にするとだいたいsvgの文字の大きさがあいます。試した結果です。 if hasattr(obj.ViewObject,"LineColor"): viewobj.LineColor = obj.ViewObject.LineColor elif hasattr(obj.ViewObject,"TextColor"): viewobj.LineColor = obj.ViewObject.TextColor if hasattr(obj.ViewObject,"Line...
by 3939yoshi
Tue Mar 21, 2017 5:38 am
Forum: 日本語フォーラム
Topic: Draftからsvg変換の線幅が0.35固定となっている。
Replies: 10
Views: 192

Re: Draftからsvg変換の線幅が0.35固定となっている。

Draft.pyの makeDrawingView()最後を以下のように変更したところ、テストした範囲ではOKでした。 これで、細線(0.08)、中線、太線が簡単に書けるようになりました。 フォントサイズも設定しました。 点線や破線や一点鎖線は[設定][Drift][表示設定]を初期値から変更しました。 ありがとうございました。 後は矢印を修正してみようと思います。 if hasattr(obj.ViewObject,"LineColor"): viewobj.LineColor = obj.ViewObject.LineColor elif hasattr(obj.Vie...
by 3939yoshi
Thu Mar 02, 2017 5:51 am
Forum: 日本語フォーラム
Topic: Draftからsvg変換の線幅が0.35固定となっている。
Replies: 10
Views: 192

Draftからsvg変換の線幅が0.35固定となっている。

Draftワークベンチに書いた線の線幅(Line Width)に1,2,3など設定しても、SVGでは0.35となる。
変換後、Pageのプロパティから手動で変更は可能である。
FreeCAD_0.17\Mod\Drift\Drift.py の class _DrawingView を修正すればよさそうだが、よくわからない。
どなたかわかりますか?

(参考:矢印のsvgでの形状はDrift.pyのgetArrow()を変更すれば簡単に修正できそうです。)
( とりあえず、線幅と矢印形が課題です。 )

Go to advanced search