当前位置:编程学习 > VB >>

急急急~用VB 做电路图

--------------------编程问答-------------------- 有想法,呵呵。给我联系吧,呵呵。QQ 8267#53798 --------------------编程问答-------------------- 忘了说了  本人的联系方式:QQ  573930627
谢谢各位了!!! --------------------编程问答-------------------- 有难度 --------------------编程问答-------------------- 是有难度  请问能帮忙解决吗? --------------------编程问答-------------------- 作电路图有 Protel、Altium Designer Summer...这些软件,为什么还要用VB自己做。
要知道这些软件除能能建库、创建原理图、PCB图、3D图,还支持模拟。
自己开发这些东西除了工程量大,而且功能也不见得比得上这些软件,即使做出来了,存储的文件
格式也是问题,拿出去给人打版都难,都不知意义在什么地方。除非有一定的技术和很强的很坚定的信心,
要不做出来的东西没什么很大的实际应用价值。

如果只是想自己弄来玩,为何还要叫别人帮你弄?这不是自己都没有来玩了?

如果是想学东西,不一点一点的弄明白原理和思路自己动手做出来,直接叫别人帮你做出来那又学到了什么?那学会的只能是不劳而获。 --------------------编程问答-------------------- 我没有办法了  选了这个题目   没有想到这么大的难度 
在网上找人是指点指点  然后 我参照它编完后续内容
 

不是我不想学习东西


是时间太少了 
就5天时间 --------------------编程问答-------------------- 5天,从0开始,,,楼主,难度真的不小哦 --------------------编程问答-------------------- 难度说大很大,说小也小,关键是看楼主要做到什么程度了.
如果只是几个有限的元件拖来拖去,不需要其他功能的话,用几个IMAGE+LINE控件也就可以了 --------------------编程问答-------------------- 大家都说难度不小  我是不是该给老师打电话 我放弃这个方案算了
换个简单的算了... --------------------编程问答-------------------- 发现很多都是学生来找抢手!-_-! --------------------编程问答-------------------- 顶顶.

分析你的要求,只有两个要点:

一,拖动图片框.

   这是用于拖动动那些"元件"与"图示"(如电源,地,阻值等).可参考:

   http://www.m5home.com/blog/article.asp?id=286

   被拖动对象换成图片框即可;

二,动态连线.

   这个效果即是连接各个电气线路用的,主要难点在于动态橡皮线上面.

   有个DEMO可以给你参考,但这是我另一个项目中的一部分,所以只能给你提这些关键词,不能给你代码了:

   http://www.m5home.com/temp/drawdemo.htm

   你可以不用实现我那种动态效果,只需要在进入连线模式后,记录每次鼠标左键单击的坐标,再用LINE函数画条线就行了.为了方便,建议也是使用右键退出连线模式:

'窗体上放两个按钮,Command1,Command2.
Option Explicit

Dim b2ndClick As Boolean    '是否是第二次点击
Dim bIsDraw As Boolean      '是否是画线模式

Private Sub Command1_Click()
    bIsDraw = True                         '进入画线模式
    Me.Caption = "画线模式"
End Sub

Private Sub Command2_Click()
    bIsDraw = False                        '退出画线模式
    b2ndClick = False
    Me.Caption = "待命"
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If bIsDraw Then
        If Button And vbLeftButton Then         '画线
            If b2ndClick Then
                Me.Line -(X, Y)
            Else
                Me.CurrentX = X: Me.CurrentY = Y        '第一次画线,是起点,记录之.
                b2ndClick = True
            End If
        End If
        If Button And vbRightButton Then        '退出画线模式
            Call Command2_Click
        End If
    End If
End Sub


至于元件库,对于你这个简单的"连线"软件来说,仅仅是加载不同的图片而已,所以不是问题.

祝你好运吧.

另:如果我是你我也会选这个项目:) --------------------编程问答--------------------
引用 8 楼 wallescai 的回复:
难度说大很大,说小也小,关键是看楼主要做到什么程度了.
如果只是几个有限的元件拖来拖去,不需要其他功能的话,用几个IMAGE+LINE控件也就可以了

我也是这意思.

如果只是简单"连线",我上面给你的代码,拼拼就能凑合了. --------------------编程问答-------------------- 感激涕零啊!!!!
我先试试!!!! --------------------编程问答--------------------
引用 10 楼 supermanking 的回复:
发现很多都是学生来找抢手!-_-!


是,但是我没有别的办法了!
自己在短暂的时间是弄不出来的了... --------------------编程问答--------------------
引用 11 楼 myjian 的回复:
顶顶.

分析你的要求,只有两个要点:

一,拖动图片框.

  这是用于拖动动那些"元件"与"图示"(如电源,地,阻值等).可参考:

 http://www.m5home.com/blog/article.asp?id=286

  被拖动对象换成图片框即可;

二,动态连线.

  这个效果即是连接各个电气线路用的,主要难点在于动态橡皮线上面.

  有个DEMO可以给你参考,但这是我另一个项目中的一部分,所以只能给你提这些关键词,不能给你代码了:

 http://www.m5home.com/temp/drawdemo.htm

  你可以不用实现我那种动态效果,只需要在进入连线模式后,记录每次鼠标左键单击的坐标,再用LINE函数画条线就行了.为了方便,建议也是使用右键退出连线模式:

VB code'窗体上放两个按钮,Command1,Command2.OptionExplicitDim b2ndClickAsBoolean'是否是第二次点击Dim bIsDrawAsBoolean'是否是画线模式PrivateSub Command1_Click()
    bIsDraw=True'进入画线模式    Me.Caption="画线模式"End SubPrivateSub Command2_Click()
    bIsDraw=False'退出画线模式    b2ndClick=False
    Me.Caption="待命"End SubPrivateSub Form_MouseUp(ButtonAsInteger, ShiftAsInteger, XAsSingle, YAsSingle)If bIsDrawThenIf ButtonAnd vbLeftButtonThen'画线If b2ndClickThen
                Me.Line-(X, Y)Else
                Me.CurrentX= X: Me.CurrentY= Y'第一次画线,是起点,记录之.                b2ndClick=TrueEndIfEndIfIf ButtonAnd vbRightButtonThen'退出画线模式Call Command2_ClickEndIfEndIfEnd Sub

至于元件库,对于你这个简单的"连线"软件来说,仅仅是加载不同的图片而已,所以不是问题.

祝你好运吧.

另:如果我是你我也会选这个项目:)

我开始做时  才发现 我到处遇到了问题
最主要的问题 是不知道如何进行连接
比如说 我想在按“进入元件库”钮后 进入元件库界面  却不知道如何实现这个进入连接
在元件库版面上  我设置了许多可供选择的元件符号按钮 我的目的是在选择需要的按钮后 在图形编辑框 能弹出自己想要的元件符号 但是这里的弹出连接 我还是不会
并且 我开始以为我在网上找到些元件符号 然后调用就行 但是我发现图片的大小不一致 不是标准器件 所以即使我能调用了 画出的图形  也会很难看...

由于我刚接触VB  遇到的问题实在是太多了
我现在在考虑 我是不是该放弃了.... --------------------编程问答-------------------- 不建议放弃.

大学锻炼的一是学习能力,二是解决问题的能力.

你这代码最终写出来不会有多少行的. --------------------编程问答-------------------- 你在哪儿念书啊?现在大学生不都放假了么? --------------------编程问答-------------------- 怎么会有5天的期限?参加竞赛么? --------------------编程问答--------------------
引用 16 楼 myjian 的回复:
不建议放弃.

大学锻炼的一是学习能力,二是解决问题的能力.

你这代码最终写出来不会有多少行的.

我在做电路元件库时  我不知道该怎样建立这个元件库 使它包含我需要的元件符号  而且我也不知道该怎样调用元件库的内容 
我算是够易做图的了...

你能再给点详细的建议吗?  越详细越好!
--------------------编程问答--------------------
引用 18 楼 slowgrace 的回复:
怎么会有5天的期限?参加竞赛么?

是期末学校安排的一个能力强化训练
我之前根本没有接触过VB 没有想到第一次就遇到了这么复杂的问题

我是武汉理工大学的 马上大四了 --------------------编程问答-------------------- 如果元件符号不多的话,可以保存在ImageList里。 --------------------编程问答--------------------
引用 21 楼 slowgrace 的回复:
如果元件符号不多的话,可以保存在ImageList里。

你知道怎么找到那些元件符号不?
我上网找了  但是都是图片 与我要作图需要的小元件符号  差别太大了!

你有办法找到一些常用的电路元件符号吗? --------------------编程问答-------------------- 抱歉,没做过。 --------------------编程问答--------------------
引用 22 楼 wugangtc1986 的回复:
引用 21 楼 slowgrace 的回复:
如果元件符号不多的话,可以保存在ImageList里。

你知道怎么找到那些元件符号不?
我上网找了  但是都是图片 与我要作图需要的小元件符号  差别太大了!

你有办法找到一些常用的电路元件符号吗?

我倒.

搜索一下不就OK了么?

http://www.google.cn/search?hl=zh-CN&client=aff-os-maxthon&hs=wa9&newwindow=1&q=%E7%94%B5%E5%AD%90%E5%85%83%E4%BB%B6%E7%AC%A6%E5%8F%B7&revid=1046153961&ei=zTZTSvXXOYfq6APZm-nEBw&sa=X&oi=revisions_inline&resnum=0&ct=broad-revision&cd=6

实在找不到,你下载个PROTEL99,然后把常用元件抓个图下来不也就OK了么.

看这个:

http://dx1.soft.elecfans.com/dm/elec/elecfans.com_%B3%A3%D3%C3%B5%E7%D7%D3%D4%AA%BC%FE%B7%FB%BA%C5.doc --------------------编程问答--------------------
引用 24 楼 myjian 的回复:
引用 22 楼 wugangtc1986 的回复:
引用 21 楼 slowgrace 的回复:
如果元件符号不多的话,可以保存在ImageList里。

你知道怎么找到那些元件符号不?
我上网找了  但是都是图片 与我要作图需要的小元件符号  差别太大了!

你有办法找到一些常用的电路元件符号吗?

我倒.

搜索一下不就OK了么?

http://www.google.cn/search?hl=zh-CN&client=aff-os-maxthon&hs=wa9&newwindow=1&q=%E7%94%B5%E5%AD%90%E5%85%83%E4%BB%B6%E7%AC%A6%E5%8F%B7&revid=1046153961&ei=zTZTSvXXOYfq6APZm-nEBw&sa=X&oi=revisions_inline&resnum=0&ct=broad-revision&cd=6

实在找不到,你下载个PROTEL99,然后把常用元件抓个图下来不也就OK了么.

看这个:

http://dx1.soft.elecfans.com/dm/elec/elecfans.com_%B3%A3%D3%C3%B5%E7%D7%D3%D4%AA%BC%FE%B7%FB%BA%C5.doc

呵呵 说了我比较木的嘛! --------------------编程问答--------------------
引用 24 楼 myjian 的回复:
引用 22 楼 wugangtc1986 的回复:
引用 21 楼 slowgrace 的回复:
如果元件符号不多的话,可以保存在ImageList里。

你知道怎么找到那些元件符号不?
我上网找了  但是都是图片 与我要作图需要的小元件符号  差别太大了!

你有办法找到一些常用的电路元件符号吗?

我倒.

搜索一下不就OK了么?

http://www.google.cn/search?hl=zh-CN&client=aff-os-maxthon&hs=wa9&newwindow=1&q=%E7%94%B5%E5%AD%90%E5%85%83%E4%BB%B6%E7%AC%A6%E5%8F%B7&revid=1046153961&ei=zTZTSvXXOYfq6APZm-nEBw&sa=X&oi=revisions_inline&resnum=0&ct=broad-revision&cd=6

实在找不到,你下载个PROTEL99,然后把常用元件抓个图下来不也就OK了么.

看这个:

http://dx1.soft.elecfans.com/dm/elec/elecfans.com_%B3%A3%D3%C3%B5%E7%D7%D3%D4%AA%BC%FE%B7%FB%BA%C5.doc

元件库 已经建立了  
但是怎么实现VB 调用 元件库呢 ?
调用后 在采取你前面教的连线方式  是不是就可以构建电路图了? --------------------编程问答--------------------
引用 22 楼 wugangtc1986 的回复:
引用 21 楼 slowgrace 的回复:
如果元件符号不多的话,可以保存在ImageList里。

你知道怎么找到那些元件符号不?
我上网找了  但是都是图片 与我要作图需要的小元件符号  差别太大了!

你有办法找到一些常用的电路元件符号吗?


一个办法是直接上网找,应该有很多
还有个办法就是自己画,反正电路图元件符号简单的很,哪怕用画图版也是很容易的.
我自己作软件,有时一下找不到合适的图标就会自己画的.
这些东西都是细枝末节,楼主就不要提了吧,还是先考虑如何实现程序主体要紧.
http://download.csdn.net/source/325194
这个是我以前写的控件拖动并保存位置的代码,你可以参考一下 --------------------编程问答--------------------
引用 27 楼 wallescai 的回复:
引用 22 楼 wugangtc1986 的回复:
引用 21 楼 slowgrace 的回复:
如果元件符号不多的话,可以保存在ImageList里。

你知道怎么找到那些元件符号不?
我上网找了  但是都是图片 与我要作图需要的小元件符号  差别太大了!

你有办法找到一些常用的电路元件符号吗?


一个办法是直接上网找,应该有很多
还有个办法就是自己画,反正电路图元件符号简单的很,哪怕用画图版也是很容易的.
我自己作软件,有时一下找不到合适的图标就会自己画的.
这些东西都是细枝末节,楼主就不要提了吧,还是先考虑如何实现程序主体要紧.
http://download.csdn.net/source/325194
这个是我以前写的控件拖动并保存位置的代码,你可以参考一下

呵呵~  在高手面前  细枝末节对于我来说  也是拦路虎啊!
谢谢你们的帮助!!! --------------------编程问答-------------------- 路过啊 --------------------编程问答-------------------- 呵呵,蛮有意思啊,我现在也要做,可是也是不知道如何下手啊…… --------------------编程问答-------------------- 楼上,你挖了1年前的坟......... --------------------编程问答-------------------- 不结帖就拉出来鞭尸 --------------------编程问答-------------------- good --------------------编程问答-------------------- 这个……老马是专家。人家可是做电子开发的。
至于电路图,网络一搜一大把,简单的阻容滤波式电源电路,到复杂的CPU应用电路,应有尽有。
补充:VB ,  网络编程
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,