Rotating belt.
Moderator: ickputzdirwech
Rotating belt.
Well i read about this topic in the bug section and it was declinded - legitimately.
My suggestion is, that a filled belt keep on movin until only one sort of items or nothing (how about stop empty belts?) are on it.
Usecase:
belt loop from mixed output with different maschines to use them: The assembler can't reach the white item because the belt stopped.
If all white items were filtered out and only brown are on it, it would be reasonable to stop, because everytime the other machine can reach a brown item.
Btw: the belt keeps on moving but the items are not transported, what don't makes sense furthermore.
Greetings steinio
My suggestion is, that a filled belt keep on movin until only one sort of items or nothing (how about stop empty belts?) are on it.
Usecase:
belt loop from mixed output with different maschines to use them: The assembler can't reach the white item because the belt stopped.
If all white items were filtered out and only brown are on it, it would be reasonable to stop, because everytime the other machine can reach a brown item.
Btw: the belt keeps on moving but the items are not transported, what don't makes sense furthermore.
Greetings steinio
- Deadly-Bagel
- Smart Inserter
- Posts: 1498
- Joined: Wed Jul 13, 2016 10:12 am
- Contact:
Re: Rotating belt.
There are a lot of other ways to solve this logistically. Split the items into two belts, have a buffer chest (bonus points, only pull items if required), stop the input feed once the belt loop is almost compressed (would need to swap the lanes of the belt to prevent one becoming backed up).
Money might be the root of all evil, but ignorance is the heart.
-
- Fast Inserter
- Posts: 122
- Joined: Fri Jun 17, 2016 8:17 pm
- Contact:
Re: Rotating belt.
It appears that your actual proposal is "splitters should search down their outputs to attempt to find loops, and if one is found, that input should be given priority."
See, what you have looks like a loop made of belts, but it's not -- the splitter fundamentally changes it. In the basic combining case, splitters use a pretty simple algorithm -- accept item from left; accept item from right; repeat. Now, the key here is that when it accepts an item from the left, it is not accepting an item from the right.
For your application, this means that the splitter is currently ejecting an item from its top input into the output. It's waiting on space in the output to finish this task (after which it will process an item from the bottom input). The only problem is that the belt is blocked... but the splitter. Because it's currently handling that top item, the bottom input is blocked; it might as well be a wall for its effectiveness in accepting items.
So, what you really want here, is for the splitter to not be accepting that top item without spare space to put it somewhere. Aside from a fundamental change to splitter behavior, you have a couple options to enforce that prioritization:
1. Side-load the belt. This prevents you from over-filling it (as long as you don't mix colors), so it will always keep spinning.
2. Use circuit wire to disable the top input belt when there is no space to accept its items.
3. Use a chest/inserter contraption to handle it.
See, what you have looks like a loop made of belts, but it's not -- the splitter fundamentally changes it. In the basic combining case, splitters use a pretty simple algorithm -- accept item from left; accept item from right; repeat. Now, the key here is that when it accepts an item from the left, it is not accepting an item from the right.
For your application, this means that the splitter is currently ejecting an item from its top input into the output. It's waiting on space in the output to finish this task (after which it will process an item from the bottom input). The only problem is that the belt is blocked... but the splitter. Because it's currently handling that top item, the bottom input is blocked; it might as well be a wall for its effectiveness in accepting items.
So, what you really want here, is for the splitter to not be accepting that top item without spare space to put it somewhere. Aside from a fundamental change to splitter behavior, you have a couple options to enforce that prioritization:
1. Side-load the belt. This prevents you from over-filling it (as long as you don't mix colors), so it will always keep spinning.
2. Use circuit wire to disable the top input belt when there is no space to accept its items.
3. Use a chest/inserter contraption to handle it.
Re: Rotating belt.
Or make priority feeder. This is wrong design your sorting loop should look like this.
...o-o ..../-\
.--o-o-> | >---|
..|----< o| | <-
........--o--/
..(in)/
Where (in) is input
/, -, | are Belts
o
o is splitter
and > > underground belt. The construction of 2 splitters on both sides of belts is optional mostly to prevent items getting between gaps, But as far as I know you wouldn't need it. Basic idea is feed your sorting loop from both sides. And pretty sure there can be priority splitter compound 1/8 or 1/16 to refeed back to chest for farther sorting should need to renew sorting belt arise.(splitter works per item type).
...o-o ..../-\
.--o-o-> | >---|
..|----< o| | <-
........--o--/
..(in)/
Where (in) is input
/, -, | are Belts
o
o is splitter
and > > underground belt. The construction of 2 splitters on both sides of belts is optional mostly to prevent items getting between gaps, But as far as I know you wouldn't need it. Basic idea is feed your sorting loop from both sides. And pretty sure there can be priority splitter compound 1/8 or 1/16 to refeed back to chest for farther sorting should need to renew sorting belt arise.(splitter works per item type).
Re: Rotating belt.
Well the letters are not spaced evenly so it was hard to se what you mean but i guess it's like this:
But also both lanes stop.
But also both lanes stop.
Re: Rotating belt.
Close enough I found usuing splitters on loop. Just to split 6 size belt to 3 and 3 than link helps with splitter(single belt holds 6 items, so just putting splitter is enough. Reason the loop stops here I think is when itemsa re not dense enough and spacing between is less than one item in total. So having this buffer helps to setup loop once it fills enough, and help full belts not to jam. You might need some belt space on both sides because splitters don't have storage space?steinio wrote:Well the letters are not spaced evenly so it was hard to se what you mean but i guess it's like this:
But also both lanes stop.
P.s. Which makes me belive belts don't hold devisible amount of tems on their length. Because, buffer required to expand belt storage to hold items in a row.
P.p.s. Also tested this belt, and it seems mostly oughter part jams it could be because coner belts add stoarage, so putting equaliser on loop may help un jam belt too.
P.p.s also noticed this thing compresses resources even on fastest belts making them as efficient as normal belts.
Here is my friend's version of correct loop feeder it doesn't jam and doesn't back up fully. At least if you have one feeder it'll work for sure for more loop might require more buffers to extend belt. As I told it seems belt doesn't holds exact number of items so it jams. you need give a little bit more space without reducing density.
- Attachments
-
- Loop Feeder.jpg (62.25 KiB) Viewed 6037 times
- Deadly-Bagel
- Smart Inserter
- Posts: 1498
- Joined: Wed Jul 13, 2016 10:12 am
- Contact:
Re: Rotating belt.
Just a note you can use code tags to format examples as it gives everything the same spacing:aeros1 wrote:Or make priority feeder. This is wrong design your sorting loop should look like this.
...o-o ..../-\
.--o-o-> | >---|
..|----< o| | <-
........--o--/
..(in)/
Code: Select all
o-o /-\
--o-o-> | >---|
|----< o| | <-
--o--/
(in)/
Money might be the root of all evil, but ignorance is the heart.
Re: Rotating belt.
Sorry, such "Factorio coding" is only a good idea for very simple things. In my opinion we need some kind of "workshop" in the game to fast create sample constructions like the above.
Nevertheless, I think this can be closed.
Nevertheless, I think this can be closed.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
- Deadly-Bagel
- Smart Inserter
- Posts: 1498
- Joined: Wed Jul 13, 2016 10:12 am
- Contact:
Re: Rotating belt.
Come full release and if I can relatively easily get my hands on all the entity graphics this would be a good way to learn Java...
Money might be the root of all evil, but ignorance is the heart.
Re: Rotating belt.
Nice little hack - works fantastic.
But what about stopping empty belts?
Does this save computing time?
It can start again if an item or player is on it.
Greetings steinio
But what about stopping empty belts?
Does this save computing time?
It can start again if an item or player is on it.
Greetings steinio
Re: Rotating belt.
No, indeed it would take more computer time to compute, if a belt now needs to be rotated or not.steinio wrote:But what about stopping empty belts?
Does this save computing time?
It can start again if an item or player is on it.
The rotating belts are just graphical. The graphics card does all that, no CPU needed.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
-
- Fast Inserter
- Posts: 122
- Joined: Fri Jun 17, 2016 8:17 pm
- Contact:
Re: Rotating belt.
I mean -- the game-state is incremented by the CPU, so stopping animations would technically cut down on load... but it's entirely negligible.
No, we need a workshop out of game. A javascript implementation of belts and splitters (and object source/sinks), so that "share" links can exist -- think the Factorio equivalent of sqlfiddle. Bonus points if it's compatible with some kind of blueprint string mod. Also, a "slow motion" button.ssilk wrote:Sorry, such "Factorio coding" is only a good idea for very simple things. In my opinion we need some kind of "workshop" in the game to fast create sample constructions like the above.
Re: Rotating belt.
I noticed that a simple looped belt, an O, that is filled by e.g. a miner, will stop moving items when it gets full. I think the problem is that the turns compress the inner lane and expand the outer lane. So going into the turn the item has to wait for the inner lane to clear, which never happens because that waits on the next turn and so on. Similar on leaving a turn the item has to wait for the outer lane to clear with the same result.
Adding a turn in the other direction balances the stretching and compressing and keeps the belt moving:
Adding a turn in the other direction balances the stretching and compressing and keeps the belt moving:
Code: Select all
+---------------+
| |
+-+ +-----------+
+-+