Copy & Paste Duplicating
3090 61
duritskiy 2 years ago
Previously, it was possible to copy part of the scheme, and then paste the duplicate, then save the scheme, then go to the PCB and copy and paste the corresponding part there (already correctly placed), and if the changes were imported after that, then the scheme and the board became synchronized and the layout of the components on the board was preserved, which greatly facilitated the work. In new versions, this feature is gone. Since after importing changes, all new components are removed, and then added again, but in discord. Return this feature, please, as it was And it would be good if nets of new wires were automatically renamed after synchronization. Because earlier it was necessary to delete from it and anew to trace.
Comments
andyfierman 2 years ago
Would this help: [https://easyeda.com/forum/topic/Duplicate-PCB-for-multiple-printing-with-same-component-s-numbers-6f36c5cbcd7a414f82ba97027da7b743](https://easyeda.com/forum/topic/Duplicate-PCB-for-multiple-printing-with-same-component-s-numbers-6f36c5cbcd7a414f82ba97027da7b743)
Reply
duritskiy 2 years ago
1) andyfierman, thank you for the offer, it is interesting, but it does not solve the problem. 2) Once again I will explain the problem: Let's say you need to design an optocoupler expansion board for the Arduino Mega. Arduino has about 50 pins. The optocoupler circuit of one channel contains about 10 components. As a result, you need to place about 500 components. And this is very difficult without some automation. Previously, PCB synchronization did not spoil the placement of replicated components. And now, the program first deletes all manual replicated components, and then creates them again in the heap (with the same prefixes). 3) The last update did not fix anything in my problem.
Reply
duritskiy 2 years ago
Why this project is synchronized without loss [https://easyeda.com/duritskiy/test2](https://easyeda.com/duritskiy/test2) but this spoils the placement of components [https://easyeda.com/duritskiy/pushkin-2019](https://easyeda.com/duritskiy/pushkin-2019) Dear developers, please correct the problem
Reply
andyfierman 2 years ago
If I copy both of those projects to my own then open them and do **Update PCB...** from the Schematic or **Import Changes...** from the PCB then for test2 I get: ![image.png](//image.easyeda.com/pullimage/o5OvqyDezy0nTbls9au27FRPOKK4Vk0aGWCUHtOU.png) and for pushkin-2019 I get: ![image.png](//image.easyeda.com/pullimage/tiRRaSsYiT13LAfRbjucIUIhhVpRTtofi8bQiMJw.png) because there is a difference between the net name joining R1 and R3.
Reply
andyfierman 2 years ago
Sorry but I'm not sure I understand the problem from looking at those two projects.
Reply
duritskiy 2 years ago
``` Yes, one project works as it should, and the other looks the same, but it does not work correctly. So I'm trying to understand their internal differences, and how to fix "2019 Pushkin_PCB.json" so that it also shows "PCB is the same as SCH". I am trying to understand the logic of the program algorithm. I also noticed that the connection between the resistors have different names. I even tried to replace OP1_3 with R1_1, but after importing the modified JSON both resistors disappeared altogether. ```
Reply
duritskiy 2 years ago
    "LIB\~4004\~2993\~package\`0603\_BIG\`\~90\~\~gge1779\~1\~**a1b3b1516f4e48ee993459629981a0fe**~**1553623143**~0~**354eaaf4c3f7c95d**#@$ I have not found a description for these parameters. What is it? **a1b3b1516f4e48ee993459629981a0fe    -  **I suspect it is crc MD5, but what? ![dif.jpg](//image.easyeda.com/pullimage/bFpGeAy87lfwdwKweQLBk9caMGLBp7RxWNMzdqba.jpeg)
Reply
UserSupport 2 years ago
Hi at v6.1, we add a unique ID for each part, bettwen Schematic and PCB, if you just copy and paste, the schematic part's unique ID can't match the PCB part's unique ID, and then when you update PCB , the editor can find the part by unique ID, then it will remove all extra part, and place correct one. EasyEDA doesn't provide unique ID edit option yet, but if your design is not complicated, you can edit the EasyEDA source file, to make them unique ID as the same. but that will take a loog time, suggest just layout. how to edit the unique ID? 1、you must make sure the schematic is creating at v6.1, not save as, not copy and paste, not clone 2、the PCB must created by the schematic converting 3、export the schematic and PCB EasyEDA source file, and open them 4、find each part by prefix, copy the Schematic unique ID and paste to PCB source file, at the correct location ![图片.png](//image.easyeda.com/pullimage/zaxoaYZmdaeGJKks69gf0AFSwKEeAzwMhJXtDR4U.png) PCB ![图片.png](//image.easyeda.com/pullimage/SwxEvU6S5jA87YzjORlSiiwWHS6rXsseFFai19qx.png) 5、when finish, copy the PCB text and paste in PCB EasyEDA source dialog, and apply。 ![图片.png](//image.easyeda.com/pullimage/C8koxHuOiN3ASyL8RU2Z5kEfgn4UBeT3CCEJUIXs.png) 6、and then the PCB unique ID will match the schematic. Thank you
Reply
duritskiy 2 years ago
I noticed another glitch. [https://easyeda.com/duritskiy/test3](https://easyeda.com/duritskiy/test3) if I open test3pcb, and then open "EasyEda File Source", then replace the net name "R1_1" to "NET1", and after click APPLY, both resistors will disappear. And even if you again change "NET1" to "R1_1", then the resistors will not be restored. It will only help to close "test3pcb" without saving and reopen
Reply
UserSupport 2 years ago
@duritskiy Hi Issue confirmed, it should be a bug. thank you
Reply
duritskiy 2 years ago
If you open any PCB, and then open "EasyEda File Source", and then click APPLY, everything disappears
Reply
duritskiy 1 year ago
var json = api('getSource', {type: "json"}); api('applySource', {source: json, createNew: !true}); ``` Even here such a simple script leads to an error after several starts, and maybe even after one. I have this problem alone? ```
Reply
duritskiy 1 year ago
I determined exactly this BUG. Bug occurs when you run this script or in "EasyEda File Source" click to Apply button, **If the PCB zoom is 1000% or more**. If the PCB zoom is 750% less, then there are no errors! Please fix it!
Reply
duritskiy 1 year ago
``` When will you release the next update? ```
Reply
duritskiy 1 year ago
**What's New in v6.1.48** Fix after import changes, delete copper area fail issue ``` I understand that my problem is not solved yet? ```
Reply
duritskiy 1 year ago
ReNumberScript.js : [https://yadi.sk/d/I67wIVHw491s8A](https://yadi.sk/d/I67wIVHw491s8A) ``` This is my solution to the problem. I will use it until the Easyeda developers fix it in their codes. The meaning of the script is: In SCH mode, the script renames all components according to their order. For example, R4, R7, R8 -> become R1, R2, R3. In PCB mode, the script also renames all components according to their order. And also reconnects the network of all wires. To create duplicates correctly, you need: 1) Run the script in SCH mode 2) Select and copy the necessary part of the scheme using ctrl + c, ctrl + v 3) Save changes to SCH 4) Open the PCB and also run the Script first. 5) Now you can also duplicate the necessary part of the scheme via ctrl + c, ctrl + v 6) Click on the "Import Changes" button 7) And again run the Script so that it renames all the wires correctly. ```
Reply
andyfierman 1 year ago
@duritskiy, Thanks for posting that.
Reply
duritskiy 1 year ago
VIDEO: [https://yadi.sk/d/NFrmMSeZZoYg_w](https://yadi.sk/d/NFrmMSeZZoYg_w)
Reply
duritskiy 1 year ago
[https://yadi.sk/d/Dcy1KEw_d0Rr-w](https://yadi.sk/d/Dcy1KEw_d0Rr-w)
Reply
duritskiy 1 year ago
UPDATE [https://yadi.sk/d/I67wIVHw491s8A](https://yadi.sk/d/I67wIVHw491s8A)
Reply
duritskiy 1 year ago
UPDATE [https://yadi.sk/d/I67wIVHw491s8A](https://yadi.sk/d/I67wIVHw491s8A)
Reply
duritskiy 1 year ago
[https://yadi.sk/d/I67wIVHw491s8A](https://yadi.sk/d/I67wIVHw491s8A) another update. I hope the last. Does anyone need this?
Reply
Thoughtyness 1 year ago
@duritskiy Yes. I have been trying to figure out how to do this exact thing for days, as it is infeasible to do it manually. I was really excited when I saw the video, unfortunately I'm not anymore because it doesn't work on my project. I have followed all of your steps exactly and watched the video with no success. I believe part of the problem is with EasyEDA and not your script-regardless, it doesn't work but I do need it.
Reply
duritskiy 1 year ago
If your share your project, i can create one more video, that will show you how to use my script. Sorry for my english :)
Reply
duritskiy 1 year ago
today i found and fixed one bug, and this update: [https://yadi.sk/d/MUeNNxXA4ULpLQ](https://yadi.sk/d/MUeNNxXA4ULpLQ) I hope you did not forget to install the scripts in the system through "Tools-> Extensions-> Load Script" It looks like this to me: ![11111111111111111111.jpg](//image.easyeda.com/pullimage/E7gxAHeMP2I9GHomLrHNzRFQMoXSpBeKFUe05tCT.jpeg)
Reply
duritskiy 1 year ago
New algorithm is faster. How to install scripts: [https://yadi.sk/d/Jmtk-HBQxYcv3Q](https://yadi.sk/d/Jmtk-HBQxYcv3Q) This is an example of copying from one project to another: [https://yadi.sk/d/Yu7dzEj7NO3dXA](https://yadi.sk/d/Yu7dzEj7NO3dXA) This is an example of how you can change the name of Net in SCH and then synchronize it with the PCB: [https://yadi.sk/d/Oo_l5pakWhD-KQ](https://yadi.sk/d/Oo_l5pakWhD-KQ)
Reply
tobalt 1 year ago
Dear duritskiy, I am happy that you add this **BADLY NEEDED** feature to easyeda. I hope that easyeda will add this as a native functionality **soon**. I have a large board where many hardware blocks need to be multiply placed for different channels. I am sure that many people are facing the same problem. I wonder why this thread is not more crowded. I will try it and report any errors in case there are any. Tbh I got a little lost which version of the script is up to date.
Reply
tobalt 1 year ago
Ok, I have trouble executing this script. I have downloaded and installed your 4 .js files. When I click the MyExtensions button at the top I get 4 items there: ReNumberScript.js, ShowHidePref.js, ShowScriptDialog.js, UnRouteSelected.js When I click ReNumberScript, I get the error: "Syntax error: Illegal character" So I watched again the video from your post above: [https://yadi.sk/d/NFrmMSeZZoYg_w](https://yadi.sk/d/NFrmMSeZZoYg_w) However, I cannot follow those steps because when I click run script on top, I get an empty window. If I load the ReNumberScript before running, I get the same error as mentioned before. Your newer videos don't really help me either, because you have scripts there that I don't have. Maybe I have missed something. Also in the new videos, you do not show how to duplicate a group of hardware as you showed in your older video. Unfortunately I am quite confused now. Maybe you can give me some pointers. Another question I have is: How does the script work with multi-schematic boards. I have for example 9 schematic sheets that all contain parts going into the same board. Best regards, Tobias
Reply
duritskiy 1 year ago
I rewrote the script, now it is more convenient and faster video: [https://yadi.sk/d/zdnlyLj2Iktc-A](https://yadi.sk/d/zdnlyLj2Iktc-A) scripts: [https://yadi.sk/d/MUeNNxXA4ULpLQ](https://yadi.sk/d/MUeNNxXA4ULpLQ)
Reply
duritskiy 1 year ago
``` This is how ReplaceSchlib.js works ``` [https://yadi.sk/d/AAkDAyzYrXLaUg](https://yadi.sk/d/AAkDAyzYrXLaUg)
Reply
tobalt 1 year ago
Hey duritskiy, I am getting an error: Error: TypeError:ms.ShowTimeBegin is not a function \_\_userjs\_859826\_\[email protected][https://easyeda.com/editor/6.3.22/js/main.min.js](https://easyeda.com/editor/6.3.22/js/main.min.js) line 16 > eval line 131 > eval:14:4 ExecScriptFunc/ eval:131:46 Sounds like the new version is breaking the script ? :/
Reply
tobalt 1 year ago
Hm I fixed this error by installing the extension files again. But still the Extension is unable to load Script 3 and 4. I have to manually select their js files every time.
Reply
tobalt 1 year ago
Sorry for multipost. But I dont know how to edit: I noticed also that script 3- Rename Prefixes seems broken. When I try it on the PCB, the error is: LastCopiedSchObj.length==28 != LastCopiedPcbObj.length==0 and does not change any prefixes.
Reply
UserSupport 1 year ago
@tobalt The API doesn't maintain for present, we will improve it at 2020
Reply
tobalt 1 year ago
Script 4 seems functional still, but it is useless without the main function (Script 3) which prevents parts from being removed and replaced outside the board. Script 4 does not update copper polygon areas, but I don't know if it ever did or if that is even possible, since they exist beyond pad positions.
Reply
duritskiy 1 year ago
``` Sorry for the long absence. Once again, formulate all the questions that could not be resolved. Or provide two schemes with which you can’t do anything to duplicate part of the scheme. And I will once again make a video on how to duplicate correctly. ```
Reply
duritskiy 1 year ago
``` I found a bug in the new version of EasyEda, which I don’t yet know how to fix. @UserSupport, I'll try to show this bug in the video, which spoils my algorithm. When you just push ctrl-c on one element and ctrl-v, you can see that it is assigned a specific gge (In a video: "gge407"). And then, when you click the left mouse button, the inserted element is suddenly assigned another gge ("gge427"). In previous versions, gge remained the same and everything was fine [https://yadi.sk/i/bFSVzwn__Wrvew](https://yadi.sk/i/bFSVzwn__Wrvew) ```
Reply
duritskiy 1 year ago
``` https://yadi.sk/i/bFSVzwn__Wrvew ```
Reply
duritskiy 1 year ago
video: [https://yadi.sk/i/bFSVzwn__Wrvew](https://yadi.sk/i/bFSVzwn__Wrvew)
Reply
duritskiy 1 year ago
``` I fixed issues related to EasyEda update. The Duplicate algorithm has become a little harder and slower, but it seems to work correctly. ``` scripts: [https://yadi.sk/d/MUeNNxXA4ULpLQ](https://yadi.sk/d/MUeNNxXA4ULpLQ) video: [https://yadi.sk/i/SJAkCLhpDsLZaA](https://yadi.sk/i/SJAkCLhpDsLZaA)
Reply
tobalt 1 year ago
Thanks, duritskiy, for your continued efforts. I will surely have a look if I need this in the future! Unfortunately, I had to migrate my previous project to another EDA tool, as it was too difficult to do in EasyEDA without a working Copy-Paste functionality.
Reply
duritskiy 11 months ago
@UserSupport When will you be able to duplicate parts of circuits? And sync them for sch and pcb? I used to be able to duplicate my scripts, but now I don’t know how to fix my scripts so that they would work as before.
Reply
UserSupport 11 months ago
@duritskiy You just need to keep them ID as the same between SCH and PCB ![图片.png](//image.easyeda.com/pullimage/wo6R7Va1hhdulmqB7QB6llvKxjpMxKmMmlulEdEr.png) Tips: 1,modify SCH and PCB component's prefix, make them correspond with to each other. etc: SCH has R1, PCB need to have R1 2,  Open SCH or PCB file source at : Top Menu - File - EasyEDA File Source... 3,  Find out ALL newgId, modify it as false ![图片.png](//image.easyeda.com/pullimage/Bu0qLucvSLejS9OnVzNOKVZcAn68fMe7TigJvVPa.png) 4, Click Apply button.  SCH and PCB need to do this both.  This action will reset the compoent ID from part's prefix. 5, then SCH correspond to PCB. Copy to @Andyfierman
Reply
duritskiy 11 months ago
Thank you!!! I will try it. Can I do this by api('updateShape') ? Because large projects update very slowly through the api('applySource').
Reply
duritskiy 11 months ago
And one more question: Why are sch and pcb different algorithms for generating new prefixes? [https://yadi.sk/d/-TWAOFIKFXqmDg](https://yadi.sk/d/-TWAOFIKFXqmDg)
Reply
UserSupport 11 months ago
It just MD5(prefix) to set to new ID for component
Reply
duritskiy 11 months ago
I fixed my scripts, now again you can make duplicates. But of course I would like the program to have a standard duplicate function. [https://yadi.sk/d/DZ-wqCq9eR9zng](https://yadi.sk/d/DZ-wqCq9eR9zng)
Reply
vesalaasanen 8 months ago
Hi, I'm trying to run this extension in the web version and Mac client. Copy and paste work well but when I run the 3SmartRenamePref.js it jumps to blank Advanced -> Extensions -> Run script window. Any ideas? This seems like a very useful thing any would save lots of hours. Cheers, Vesa
Reply
duritskiy 6 months ago
[MyScripts20201021.zip](https://yadi.sk/d/ZRPquBMii34Vdw) I fixed my scripts. In the web version did not check. Question to the developers: When will the standard duplicate feature appear?
Reply
UserSupport 6 months ago
@duritskiy Hi What is the standard duplicate feature?
Reply
duritskiy 6 months ago
to be able to correctly copy individual parts of the circuit. What my 4 scripts do: 1SmartCopy.js 2SmartPaste.js 3SmartRenamePref.js 4SmartReconnectTracks.js [example video:](https://yadi.sk/d/5KzOnLpNwAB2Vg) But it must be more userfriendly.
Reply
duritskiy 6 months ago
update [MyScripts20201022.zip](https://yadi.sk/d/SyXZduOwWj7RzQ)
Reply
UserSupport 3 months ago
@duritskiy Hi duritskiy Can you open source your EasyEDA script in github? such as: @andreasbernhofer [https://github.com/xsrf/easyeda-toggleview](https://github.com/xsrf/easyeda-toggleview) [https://github.com/xsrf/easyeda-labelmaker](https://github.com/xsrf/easyeda-labelmaker) [https://github.com/xsrf/easyeda-svg-import](https://github.com/xsrf/easyeda-svg-import)<br> <br> Thank you
Reply
astr 3 months ago
HI, since noone wrote here in group and not sure where the status is..... i just tried modules and it works as a charm. You do your schematics and File-> Save as a module ... same for PCB. Then on a new schematics file you just add it from Library -> choose under Types SCH Module -> find the right one, add it ... but choose a prefix to prefix :) one letter is sufficient. Then make your PCB file as you like it ... either as a new file or Design -> Convert to PCB and when you do the import changes or update PCB just choose at the bottom where it says Also update tracks net........ only one checkbox at the bottom so check it and import/update changes to PCB :) I tried to add it to existing project or to empty project and it works as it should :) I tried EasyEDA a couple of times in last few years but up till now wasnt really a product for some serious work .... it is definetly getting there so i am going to tryit out .... at first for prototypes and also to try JLCPCB services :)
Reply
guy1195 2 months ago
@duritskiy Feels so annoying having to pester another user... But seems as though your scripts for rename tracks aren't working in the latest update. Still unsure why a simple copy/paste of a layout (Which sometimes needs to be repeated tens of times in a pcb) isn't a part of the default features of EasyEDA.
Reply
tobalt 2 months ago
@astr: Your comments made me revisit the module feature to see if it is has become useful. The linking indeed basically works\, but I needed several additional \*manual\* steps to make it work: 1\) After pasting the SCH Module\, I had to \*manually\* increment all the net names\, otherwise\, the Net Names would be the same for all iterations\. There should be a code that one can put in net names that indicates that this part should lend itself to auto\-incrementation\, e\.g\. OUTPUT\_\[i3\]\+\, where \[i3\] becomes replaced with a 3 digit numeric auto\-index when placing\. 2\) Before importing changes into the PCB\, I had to \*manually\* select and place the PCB Module\. The Sch Module should allow a PCB Module selection to link with it akin to Footprints for Symbols\. 3) After importing changes, some track names get updates to the new net names, but this does not apply to copper areas, and also not to vias/tracks that are connected only through these areas. One could cheat this, by placing hidden tracks inside the copper areas to connect the vias. Still the area itself will have to be manually incremented. **This is a general problem with the update-linked-tracks features that must be fixed.** 4) Finally, the prefix that you have to assign to the Module also does not auto-increment when placing the module many times. The fact, that no numbers are allowed in this prefix makes manual incrementation also awkward. Like in (1.) if I declare a prefix A, then the U1 in the Module should become A0U1, and the 0 should auto-increment when placing. At the moment, I would say the module function is not useless anymore, but very awkward compared to a properly linked hierarchical design as found e.g. in Altium. As suggested by me and many others, editing either the SCH Module or PCB Module after placing should allow to import those changes. I think such a function will be facilitated by the fixing the bullet (2.) from above.
Reply
duritskiy 1 month ago
``` soon, I will try to fix the problems after the update. ```
Reply
UserSupport 3 weeks ago
@duritskiy Can you help to release your script to github.com? we can track your project and share with other users. Many Thanks
Reply
duritskiy 1 week ago
I don't have a github account. And unfortunately now there is no time to do this. If you do this as a replacement, or if you do it on your account, I will only be glad. I am not interested in any copyright for my scripts. Thanks.
Reply
duritskiy 1 week ago
``` I tested the scripts on the new version - everything works fine. ``` video: [https://yadi.sk/d/a5LrodSGrqP2NA](https://yadi.sk/d/a5LrodSGrqP2NA)
Reply
andyfierman 1 week ago
@duritskiy, Thanks! It's great to see people contributing to EasyEDA this way. :)
Reply
Login or Register to add a comment
goToTop
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow