CAD在网页中绘制批注
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
function DoComment() { // 出来一个对象,让用户输入文字. var winWidth = 440; var winHeight = 140; var winLeft = (screen.width - winWidth) / 2; var winTop = (screen.height - winHeight) / 2 - 20; var str = 'dialogHeight:' + winHeight + 'px;dialogWidth:' + winWidth + 'px;dialogTop:' + winTop + 'px;dialogLeft:' + winLeft + 'px;resizable:yes;center:yes;status:no;' var rt = window.showModalDialog("Gettext.htm?tmp=" + Math.random(), "输入文字", str); var txt; if (typeof (rt) == "undefined") { return; } else { var arr = rt.split(","); txt = arr[0]; } // 加入换行操作符\\P //txt = txt + "\\PTEST"; // 创建一个文字样式,用于批注文字字体. mxOcx.AddTextStyle2("MyCommentFont","黑体",0.7); // 创建一个与用户交互取点的对象。 var getPt = mxOcx.NewComObject("IMxDrawUiPrPoint"); getPt.message = "输入标注插入基点"; // 设置动态绘制参数. /*var spDrawData = getPt.InitUserDraw("DrawComment"); spDrawData.SetString("Text", txt); spDrawData.SetDouble("TextHeight", 100); spDrawData.SetLong("EdgeNumber", 0); spDrawData.SetDouble("ShapRadius", 300);*/ // 开始取第一个点。 if (getPt.go() != 1) return; // 创建一个与用户交互取点的对象。 var getSecondPt = mxOcx.NewComObject("IMxDrawUiPrPoint"); getSecondPt.message = "输入标注位置点"; getSecondPt.basePoint = getPt.value(); getSecondPt.setUseBasePt(false); spDrawData = getSecondPt.InitUserDraw("DrawComment2"); // 设置动态绘制参数. spDrawData.SetPoint("BasePoint", getPt.value()); spDrawData.SetString("Text", txt); spDrawData.SetDouble("TextHeight", 100); spDrawData.SetLong("EdgeNumber", 0); spDrawData.SetDouble("ShapRadius", 300); // 开始取第二个点。 if (getSecondPt.go() != 1) return; var ret = spDrawData.Draw(); // 设置绘制的批注文字样式。 for (var i = 0; i < ret.Count; i++) { var ent = ret.AtObject(i); ent.TextStyle = "MyCommentFont"; ent.colorIndex = 4; }} |
浙公网安备 33010602011771号